Стиль программирования
- Отступы 4 пробела; внутри отступа тело цикла / условия / функции / класса
- После объявления цикла / условия / функции / класса в конце ставится двоеточие
: - Динамическая типизация тип переменной определяется во время присвоения значения
- Интерпретатор Python обрабатывает все строки, кроме комментариев. Комментарии обозначаются
#или""":
# Это однострочный комментарий
# Для каждой строки требуется свой знак решётки
""" Это -
многострочный комментарий
"""
''' и его можно
заключать в одинарные
или двойные кавычки '''Ввод, вывод
- Ввод:
s = input()(sвсегда строка)- Можно использовать приглашение:
s = input("Введите что-нибудь: ")
- Можно использовать приглашение:
- Вывод:
print(s)(sиспользует своё преобразование в строку)- При нескольких позиционных аргументах
print(a, b, c)выведутся объектыa,b,cчерез пробел - Можно добавить именованный аргумент
endдля изменения конца строки:print(a, end='...'). По умолчанию, в конце строки символ переноса строки\n.
- При нескольких позиционных аргументах
Арифметические операции
- Сложение
a + b- int, float, complex простое алгебраическое сложение
- bool преобразование в int, алгебраическое сложение
- str, list, tuple стыковка
- dict, set нет операции сложения
- Вычитание
a - b- int, float, complex простое алгебраическое вычитание
- bool преобразование в int, алгебраическое вычитание
- str, list, tuple, dict, set нет операции вычитания
- Умножение
a * b - Деление
a / b - Возведение в степень
a ** b - Целочисленное деление
a // b - Остаток от деления
a % b
Логические выражения
Примечание: можно сочетать логические операции в одной строке: 0 < a < 1
- Равенство
a == b- int, bool равенство
- float равенство с точностью до 15 знаков после запятой
- str, list, tuple, dict, set попарное равенство элементов
- Неравенство
a != b - Сравнение
a > bилиa < b(a >= bилиa <= b)- int, bool, float сравнение
- str, list, tuple попарное сравнение поэлементно до первого неодинакового элемента
- dict нет операции сравнения
- Логические операторы (для
a,bтипа bool)- И:
a and b - ИЛИ:
a or b - НЕ:
not a
- И:
- Побитовые операторы
- И:
a & b - ИЛИ:
a | b - Исключающее ИЛИ:
a ^ b - НЕ:
~a - Сдвиг влево
aнаb:a << b - Сдвиг вправо
aнаb:a >> b
- И:
Базовые функции
passничего не делать (оператор-заглушка)type()тип переменнойmax()максимальный элемент (который “больше”, чем остальные)min()минимальный элементlen()длина массива / контейнераsorted()сортирует массив по возрастанию- по убыванию:
sorted(a, reverse=True)
- по убыванию:
dir()посмотреть доступные функции / переменныеdir(a)посмотреть внутренние функцииa(где a объект / модуль)
id()посмотреть уникальный идентификатор объекта (его “адрес”)bin()преобразование числа в двоичное представлениеoct()восьмеричноеhex()шестнадцатеричное
abs()модуль числаround()округление числа- до порядка :
round(a, N)
- до порядка :
Условия
if (условие 0):
# выполнится при выполнении условия 0
elif (условие 1):
# выполнится при выполнении услвоия 1, но невыполнении условия 0
...
elif (условие N):
# выполнится при выполнении услвоия N, но невыполнении условий 0...(N-1)
else:
# выполнится при невыполнении условий 0...NПример: код проверяет, является ли введённое число положительным или отрицательным
a = int(input())
if (условие):
print("Положительное")
elif a < 0:
print("Отрицательное")
else:
print("Ноль")Циклы
for цикл, в котором переменная пробегается внутри заданного контейнера. Стандартный контейнер арифметическая последовательность range:
for i in range(10):
print(i) # Такая программа выведет 10 строк с числами 0, 1, ... 9Так же можно использовать цикл for с другими контейнерами:
for i in "abcd":
print(i) # Такая программа выведет 4 строки с символами a, b, c, dwhile цикл, который повторяется, пока выполняется заданное условие
a = 100
while a > 1:
a = a / 2
print(a)Функции:
breakдосрочно закончить циклbreak(N)досрочно закончить вложенных циклов
continueперейти к следующему проходу цикла