Python Flashcards
Основные фичи питона?
- это интерпретируемый язык
- в нем динамическая типизация данных
- это объектно-ориентированный язык
- он лаконичный и внешне простой
- распространяется бесплатно
- у него большое сообщество
В чем разница между списками list и кортежами tuple?
Основная разница в том, что список может изменяться (mutable), а кортеж не может (immutable).
Как в питоне работает тернарный оператор?
Это обычные if который мы записываем в одну строку, для лаконичности и хорошей читабельности.
Выражение выглядит так:
[если верно] if [выражение] else [если неверно]
»> a, b = 2, 3
»> min = a if a < b else b
»> min
2
»> print(“Hi”) if a < b else print(“Bye”)
Hi
Что такое отрицательный индекс negative index?
> > > mylist = [0, 1, 2, 3, 4, 5 ,6, 7, 8]
В отличие от положительного индекса отрицательный начинает поиск с конца:
mylist[-3]
6
Еще это помогает при создании срезов с конца:
mylist[-6:-1]
[3, 4, 5, 6, 7]
Питон чувствителен к регистру?
Да
»> myname=”Ayushi”
»> Myname
Traceback (most recent call last):
File “<pyshell#3>”, line 1, in
Myname
NameError: name “Myname” is not defined
Предельно допустимая длина идентификатора в питоне?
В питоне идентификатор может быть любой длины. Помимо этого есть несколько правил для присвоения имен:
- первым символом может быть нижнее подчеркивание (), символы A-Z или a-z;
- остальная часть имени может состоять из символов A-Z/a-z//0-9;
- не забываем, что питон чувствителен к регистру;
- в качестве имени нельзя использовать ключевые слова (keywords):
and, def, False, import, not, True, as, del, finally, in, or, try, assert, elif, for, is, pass, while, break, else, from, lambda, print, with, class, except, global, None, raise, yield, continue, exec, if, nonlocal, return.
Как можно преобразовать строку в нижний регистр?
Для этого используется метод lower():
»> “AyuShi”.lower()
“ayushi”
Для преобразования в верхний регистр (uppercase) используется метод upper():
»> “AyuShi”.upper()
“AYUSHI”
Еще есть методы isupper() (все символы в верхнем регистре) и islower() (все символы в нижнем регистре), которые проверяют регистр всех символов имени.
»> “AyuShi”.isupper()
False
»> “AYUSHI”.isupper()
True
»> “ayushi”.islower()
True
»> “@yu$hi”.islower()
True
»> “@YU$HI”.isupper()
True
Как видим, символы наподобие @ и $ применимы в обоих случаях.
Еще есть метод istitle(), который проверяет строку на стиль заголовка (все слова должны начинаться с символа в верхнем регистре):
»> “The Corpse Bride”.istitle()
True
Для чего нужен pass (pass statement) в питоне?
Иногда нужно, чтобы код не давал никакого результата и не показывал ошибку, например, если еще не готово, но нужно иметь синтаксический корректный код. Можно поставить pass:
»> def func(*args):
pass
Расскажите про функции help() и dir() в питоне.
Функция help() показывает строку документации и справку для ее аргумента:
»> import copy
»> help(copy.copy)
Help on function copy in module copy: # справка по функции copy в модуле copy:
copy(x)
Shallow copy operation on arbitrary Python objects. # операция поверхностного копирования для выбранного объекта питона.
See the module”s __doc__ string for more info. № # дополнительную информацию см. в строке __doc__ этого модуля.
Функция dir() возвращает список, содержащий пространство имен в объекте:
»> dir(copy.copy)
[“__annotations__”, “__call__”, “__class__”, “__closure__”, “__code__”, “__defaults__”, “__delattr__”, “__dict__”, “__dir__”, “__doc__”, “__eq__”, “__format__”, “__ge__”, “__get__”, “__getattribute__”, “__globals__”, “__gt__”, “__hash__”, “__init__”, “__init_subclass__”, “__kwdefaults__”, “__le__”, “__lt__”, “__module__”, “__name__”, “__ne__”, “__new__”, “__qualname__”, “__reduce__”, “__reduce_ex__”, “__repr__”, “__setattr__”, “__sizeof__”, “__str__”, “__subclasshook__”]
Как получить список из всех ключей словаря (dictionary keys)?
Данная задача выполняется с помощью функции keys():
»> mydict={“a”:1,”b”:2,”c”:3,”e”:5}
»> mydict.keys()
dict_keys([“a”, “b”, “c”, “e”])
Что такое срез?
Срез — это методика, которая позволяет получить часть списка, кортежа или строки.
»> (1, 2, 3, 4, 5)[2:4]
(3, 4)
Как пишутся комментарии в питоне?
Для этого используется символ #. Все, что написано на строке после него, считается комментарием и игнорируется.
Как проверить, что все символы строки относятся к алфавитно-цифровым?
Для этого используется метод isalnum().
Как перевести первый символ строки в верхний регистр?
Для этого есть метод capitalize():
»> “ayushi”.capitalize()
“Ayushi”
Все знают, что сегодня питон в моде. Но истинное принятие новой технологии подразумевает понимание ее недостатков. Что вы можете сказать по этому поводу?
- интерпретируемая природа питона снижает скорость исполнения программы
- его не выгодно использовать для мобильных устройств и браузеров
- будучи языком с динамической типизацией данных, он использует утиную типизацию; в связи с этим появляются ошибки исполнения (runtime errors);
- в нем слабо развиты возможности доступа к базам данных; поэтому питон не идеальный вариант для приложений с очень большими базами данных;
- низкие требования на входе, то есть свои силы в питоне может попробовать каждый; это иногда снижает качество кода;
- у питона индивидуально выраженный стиль.
Как в питоне узнать, в какой мы сейчас директории?
Для этого используется функция getcwd(). Она импортируется из модуля os:
»> import os
»> os.getcwd()
“C:\Users\lifei\AppData\Local\Programs\Python\Python36-32”
Как можно обратить (reverse) порядок элементов в списке?
Для этого есть метод reverse():
»> a.reverse()
Что такое приглашение интерпретатора (interpreter prompt)?
> > >
Что нужно сделать, чтобы функция возвратила значение?
Для этого используется ключевое слово return
Что такое блок?
Когда мы пишем предложение (statement), нам нужно завершить первую строку двоеточием, а под ним написать блок кода, который исполняется в рамках этого предложения. Каждая строка блока пишется с одинаковым отступом.
Зачем нужны break и continue?
Они используются для управления последовательностью операций: break останавливает исполнение цикла и переводит исполнение на следующий блок кода, continue как бы перепрыгивает на следующую итерацию цикла и не прекращает его исполнение.
Если мы не поставим двоеточие в конце строки для цикла “do-while”, он все равно сработает?
В питоне такой цикл не реализован. Это вопрос из тех, которые с подвохом, когда упоминают элементы других языков.
Напишите в одну строку, как можно получить самую позднюю по значению букву в строке.
Значение буквы определяется по ее коду в ASCII. Для этого подойдет функция max():
»> max(“flyiNg”)
“y”
В каких областях питон имеет преимущество?
Лучше всего питон использовать в следующих областях:
- веб-приложения
- графические интерфейсы пользователя для настольных ПК
- научные и арифметические приложения
- разработка ПО
- разработка программ обучения
- приложения для бизнеса
- сетевые приложения
- игры, 3D-графика
Можете назвать десять встроенных функций питона?
Функция hash() возвращает хэш-значение объекта:
Функция input() читает ввод и возвращает строку:
Функция len() возвращает число, показывающее длину строки:
Как конвертировать список в строку?
Для этого подойдет метод join():
»> nums=[“one”,”two”,”three”,”four”,”five”,”six”,”seven”]
»> s=” “.join(nums)
»> s
“one two three four five six seven”
Как убрать из списка дубликат элемента?
Для этого можно конвертировать список во множество (set):
»> list = [1, 2, 1, 3, 4, 2]
»> set(list)
{1, 2, 3, 4}
Что такое словарь (dictionary)?
- Словари используются для хранения значений данных в парах ключ:значение.
- Словарь относится к изменяемым (mutable) объектам. Его можно создать помощью:
- литерала (символов {})
- функции dict()
- генератора (comprehension) - Словарь представляет собой упорядоченный*(>3.7) набор данных, изменяемый и не допускающий дублирования(ключей).
Расскажите про арифметические операторы //, %, и **.
Оператор // выполняет целочисленное деление и возвращает целую часть числа, полученного в результате операции:
»> 7 // 2
3
Оператор ** возводит в степень:
»> 2**10
1024
Оператор % возвращает результат деления по модулю, то есть остаток после деления:
»> 13%7
6
Что вам известно про операторы сравнения в питоне?
Оператор “меньше” (<)
Оператор “больше” (>)
Оператор “меньше или равно” (<=)
Оператор “больше или равно” (>=)
Оператор равенства (==)
Оператор неравенства (!=)
Что такое операторы присвоения в питоне?
Все арифметические операторы можно комбинировать с символом присвоения.
+=
-=
*=
/=
// =
%=
Расскажите про логические операторы в питоне.
Всего их три: and, or, not.
Что такое оператор принадлежности?
Это операторы in и not in. Они показывают, является ли одно значение частью другого.
»> “me” in “disappointment”
True
»> “us” not in “disappointment”
True
Чем отличаются операторы == от is ?
== сравнивает два операнда по значению
is сравнивает по их адресам в памяти
Какие типы данных поддерживаются в питоне?
Text Type: str
Numeric Types: int, float, complex
Sequence Types: list, tuple, range
Mapping Type: dict
Set Types: set, frozenset
Boolean Type: bool
Binary Types: bytes, bytearray, memoryview
None Type: NoneType
Что такое строка документации (docstring)?
Она вносится первой строкой в блок, определяющий содержание функции, класса или метода. Содержит описание их цели и способа исполнения. Обозначается тремя одинарными или двойными кавычками с каждой стороны.
Как можно конвертировать строку в число?
Если строка содержит только числовые символы, можно использовать функцию int():
»> int(“227”)
227
Как можно принять результат ввода на клавиатуре?
Если пользователь что-то вводит с помощью клавиатуры, можно использовать функцию input()
Что такое функция?
Функция — это блок кода, который запускается только при вызове.
Вы можете передавать данные, известные как параметры, в функцию.
В результате функция может возвращать данные.
В Python функция определяется с помощью ключевого слова def
Чтобы вызвать функцию, используйте имя функции, за которым следуют круглые скобки
С точки зрения функции:
Параметр — это переменная, указанная в скобках в определении функции.
Аргумент — это значение, которое передается функции при ее вызове.
Что такое рекурсия?
Это когда функция вызывает саму себя. При этом она должна иметь базовое условие, чтобы не создать бесконечный цикл:
»> def facto(n):
if n == 1: return 1
return n * facto(n - 1)
»> facto(4)
24
Что делает функция zip()?
Возвращает итератор с кортежами:
»> list(zip([“a”, “b”, “c”],[1, 2, 3]))
[(“a”, 1), (“b”, 2), (“c”, 3)]
В данном случае она совмещает элементы двух списков и создает из них кортежи. Работает не только со списками.
Как посчитать длину строки (string)?
Для этого вызываем функцию len():
»> len(“Ayushi Sharma”)
13
Функция len()возвращает количество элементов в объекте.