Стиль программирования
- Отступы 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, d
while
цикл, который повторяется, пока выполняется заданное условие
a = 100
while a > 1:
a = a / 2
print(a)
Функции:
break
досрочно закончить циклbreak(N)
досрочно закончить вложенных циклов
continue
перейти к следующему проходу цикла