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-графика