Это старая версия документа!
Эквивалент null в Python: None
Проверка:
if null_variable is None: <действия>
На Python предпочтительный метод отступов — пробелы (4 шт.). Сочетание отступов пробелами и табуляцией — недопустимо! Лучше настроить IDE на автоматическую конвертацию.
Допустимо записывать одну инструкцию в нескольких строках. Достаточно ее заключить в пару круглых, квадратных или фигурных скобок.
print('aaaaa', 'bbbbb', 3) ## aaaaabbbbb3
Команда создания в каталоге проекта:
python3 -m venv virt.py3
Где virt.py3
— название окружения/создаваемого каталога.
Команда активации в каталоге проекта:
source ./virt.py3/bin/activate
Теперь, все установленные модули будут только в виртуальном окружении, а не в основной системе.
Установка:
python3 -m pip install module_name
Проверка установленных модулей:
pip list
Команда деактивации:
deactivate
Каждый импорт, как правило, должен быть на отдельной строке.
import os import sys as sys import datetime as dt import urllib.request as askurl
где sys, dt, askurl - новые имена
+
— сложение чисел/строк-
— вычитание*
— умножение числа или дублирование строки**
— возведение в степеньpow(x,y[,z])
— $x^{y}$ по модулю (если модуль задан) = x**y % z
/
— деление//
— частное от деления нацело — аналог div
%
— остаток от деления нацело — аналог mod
divmod(x, y)
— Возвращает пару значений (x//y, x%y
). div*y + mod == x
.abs()
— Модуль числа!=
— проверяет неравенство значений двух объектов.==
— проверяет равенство значений двух объектов.is
— проверяет идентичность самих объектов, включая тип объекта (аналог ===
).=
— присвоение.:=
— моржовый (walrus) оператор, появившийся в Python 3.8, дает возможность решить сразу две задачи: присвоить значение переменной и вернуть это значение.print(num := 15) # 15
Операторы сравнения в Питоне можно объединять в цепочки:
print(a == b == c); print(1 <= x <= 10);
Логические операторы: and
, or
, not
.
round(x)
— Округляет число до ближайшего целого. Если дробная часть числа равна 0.5, то число округляется до ближайшего четного числа.round(x, n)
— Округляет число x до n знаков после точки. Это стандартная функция.Основные типы переменных в Python: int, float, str.
bool()
— из строки в Логическоеcomplex([real[, imag]])
— преобразование к комплексному числу.float()
— из строки к числу с плавающей точкой.str([object], [кодировка], [ошибки])
— строковое представление объекта.int([object], [основание системы счисления])
— преобразование из строки к целому числу. По умолчанию система счисления десятичная. Округляет до целого.bin()
— из целого числа в двоичную строку.oct()
— из целого числа в восьмеричную строку.hex()
— из целого числа в шестнадцатеричную строку.print(int(bin(125), 2)); # 125
range([start=0], stop, [step=1])
— арифметическая прогрессия от start до stop с шагом step.item[START:STOP:STEP]
- берёт срез от номера START, до STOP (не включая его), с шагом STEP. По умолчанию START = 0, STOP = длине объекта, STEP = 1.a = [1, 3, 8, 7] print(a[1:]) # [3, 8, 7] print(a[::-1]) # [7, 8, 3, 1] s = 'str' print(s[1:]) # 'tr' print(s[::-1]) # 'rts'
input()
— ввод, считывает одну строку целиком.print()
— вывод, с переводом строкиprint(<строка>, end='')
— вывод, БЕЗ перевода строкиn = input('input text') print('text:', n)
if (<условие>): <действие 1> <действие 2> ... <действие n>
if (<условие 1>): <действия> elif (<условие 2>): <действия> elif (<условие 3>): <действия> else <действия>
Аналогом (в C++):
x = (1>0)?1:0;
будет (на Python):
x = 1 if (1>0) else 0
Начиная с Python 3.10, можно использовать конструкцию match/case
.
В более старых версиях — используйте конструкцию if-elif-…-elif-else.
continue
— начинает следующую итерацию, минуя оставшееся тело цикла.break
— досрочно прерывает цикл.else
— примененное сразу после цикла, проверяет, был ли произведен выход из цикла инструкцией break
, или же “естественным” образом. Блок инструкций внутри else
выполнится только в том случае, если выход из цикла произошел без помощи break
.while True: <действия>
for i in 'список': <действия>
Цикл от 1 до 6 с шагом 2, с использованием range()
:
for i in range(1,6,2): print(i, end=''); ## 135
def add(x, y=0): return x + y
try: value = collection[key] except KeyError: return key_not_found(key) else: return handle_value(value)
Модуль math
для вычислений.
Функции (int, round, abs, pow, divmod
) являются стандартными и не требуют подключения модуля math
для использования.
floor(x)
— Округляет число вниз («пол»), при этом floor(1.5) == 1, floor(-1.5) == -2ceil(x)
— Округляет число вверх («потолок»), при этом ceil(1.5) == 2, ceil(-1.5) == -1sqrt(x)
— Квадратный корень. Использование: sqrt(x)log(x)
— Натуральный логарифм. log(x, b)
— Логарифм по основанию b.e
— Основание натуральных логарифмов e = 2,71828…sin(x)
— Синус угла, задаваемого в радианахcos(x)
— Косинус угла, задаваемого в радианахtan(x)
— Тангенс угла, задаваемого в радианахasin(x)
— Арксинус, возвращает значение в радианахacos(x)
— Арккосинус, возвращает значение в радианахatan(x)
— Арктангенс, возвращает значение в радианахatan2(y, x)
— Полярный угол (в радианах) точки с координатами (x, y).degrees(x)
— Преобразует угол, заданный в радианах, в градусы.radians(x)
— Преобразует угол, заданный в градусах, в радианы.pi
— Константа π = 3.1415…
Модуль os
для взаимодействия с операционной системой.
Модуль platform для получения информации о платформе (т.е. операционной системе).
Модуль sys содержит функциональность, характерную для системы. Так список sys.argv содержит аргументы командной строки.
Модуль logging для сохранения логов.