Python. Справочник
Базовые типы
Создание переменных
meters = 40 # число
name = "robotino" # строка
is_near = True # булево значение
Операции с числами возвращающие числа
(1 + 2) * 3 / 10 # все арифметические операции
5 // 3 # целочисленное деление с округлением в меньшую сторону
5 % 3 # остаток от деления
2*10 # возведение в степень
Операции с числами возвращающие булев тип
10 == 10 # равенство
10 != 1 # неравенство
1 < 2 # сравнение - меньше
2 > 1 # сравнение - больше
2 <= 2 # меньше или равно
2 >= 2 # больше или равно
Операции с булевым типом
not True # отрицание
True and False # коньюнкция
True or False # дизъюнкция
Управляющие конструкции
Ветвление (wiki)
if булево_выражение:
ветвление1
if булево_выражение:
ветвление1
else:
ветвление2
if булево_выражение1:
ветвление1
elif булево_выражение2:
ветвление2
else:
ветвление3
Примеры:
absolute_value = -10
if absolute_value < 0:
absoulte_value = -absoulte_value
Цикл (wiki)
повторяет тело цикла, до тех пор, пока выражение истино
while булево_выражение:
тело_цикла
повторяет тело цикла для каждого элемента коллекции
for элемент in коллекция:
тело_цикла
Так же в циклах могут присуствовать
continue # немедленный переход к следующией итерации
break # немедленное прекращение цикла и переход к следующией конструкции, так если бы цикл закончился
Примеры:
Выполнение цикла 10 раз (от 0 до 9), где i
становится номером итерации
for i in range(0, 10):
print(i)
Обход каждого эелемента в списке
numbers = [1,2,3,4,5,6]
for element in numbers
print(element)
Обход каждого эелемента в списке с учетом индекса
numbers = [1,2,3,4,5,6]
for index, element in enumerate(numbers):
print(index + element)
Структуры данных
Операции с любыми коллекциями
len (s) | возвращает длину s. |
min (s), max (s) | наименьший и наибольший элементы s соответственно. |
x in s | истина (1), если s включает в себя элемент равный x, иначе - ложь (0). |
x not in s | ложь, если s включает x, иначе истина. |
s + t | слияние s и t. |
s * n , n * s | n копий s, слитых вместе (например, ‘’ * 5 - это строка ‘**’). |
s[i] | i-тый элемент s, где i отсчитывается с 0. |
s[i:j] | часть элементов s, начиная с i до j-1 включительно. Либо i, либо j, либо оба параметра могут быть опущены (i по умолчанию равен 0, j - длине s). |
Список (wiki)
- индексируется натуральными числами
- расширяется при добавлении новых элементов
- может содержать элементы разных типов
- Список может выполнять роль:
- Массива
- Очереди
- Стэка
arr = [] # создание пустого списка
arr = [1,2,3,4] # инициализация списка элементами
arr = [0] * 10 # инициализация списка десяти нулями
arr = [i for i in range(0, 10)] # инициали списка значениями от 0 до 10
Операции со списками
s[i] = x | i-тый элемент s заменяется на x. |
s[i:j] = t | часть элементов s от i до j-1 заменяется на t (t может быть также списком). |
del s[i:j] | удаляет часть s (также как и s[i:j] = []). |
s.append (x) | добавляет элемент x к концу s. |
s.count (x) | возвращает количество элементов s равных x. |
s.index (x) | возвращает наименьший i, такой, что s[i]==x. |
s.insert (i,j) | часть s, начиная с i-го элемента, сдвигается вправо, и s[i] присваивается x. |
s.remove (x) | то же, что и del s[ s.index(x) ] - удаляет первый элемент s, равный x. |
s.reverse () | записывает строку в обратном порядке |
s.sort () | сортирует список по возрастанию. |
Словарь (wiki)
- индексируется ключами. Ключом может быть любой немутабельный тип данных (числа, строки и т.д.)
- в качестве значений могут быть любые типы
- расширяется при добавлении новых элементов
Создание словаря
dict = {'ключ': 'значение', 'другой_ключ': 10}
По словорям можно итерироваться циклом
vec = {'x': 0, 'y': 10, 'z': 20}
for key, value in vec:
print(key, value)
# x 0
# y 10
# z 20
Операции со словарями
len(a) | количество элементов а. |
a[k] | элемент с ключом k. |
a[k] = x | присвоить элементу с ключом k значение x. |
del a[k] | удалить a[k] из словаря. |
a.items() | список тьюплов пар (ключ, значение). |
a.keys() | список ключей а. |
a.values() | список значений а. |
Множество (wiki)
- может содержать элементы разных типов
- не может содержать дубликатов (дубликаты удаляются)
- поддерживает математические операции над множествами (объединение, пересечение, разность и т.д)
- эффективная операция проверки на вхождение элемента (
el in set
) - элементы хранятся без определенного порядка
Создание множества
collections = {'set', 'map', 'list', 'tuple'}
Операции со множествами
set.isdisjoint(other) | истина, если set и other не имеют общих элементов |
set == other | все элементы set принадлежат other, все элементы other принадлежат set |
set.issubset(other) или set <= other |
подмножество - все элементы set принадлежат other |
set.issuperset(other) или set >= other |
все элементы other принадлежат set |
set.union(other, …) или set | other | ...
|
объединение нескольких множеств |
set.intersection(other, …) или set & other & ...
|
пересечение |
set.difference(other, …) или set - other - … |
разность - множество из всех элементов set, не принадлежащие ни одному из other. |
set.symmetric_difference(other) или set ^ other |
cимметрическая разность - множество из элементов, встречающихся в одном множестве, но не встречающиеся в обоих |
set.copy() | копия множества |
Функции
Объявление функции
def add_one(number):
"""прибавляет к числу 1"""
return number + 1
Использование функции
res = add_one(42)