Коротко о Python
Сделано по материалам с сайта Python Cheatsheet.
Основы Python
Математические операторы
В порядке их выполнения
| Оператор | Описание | Пример |
|---|---|---|
| ** | Возведение в степень | 2 ** 3 = 8 |
| % | Остаток от деления | 22 % 8 = 6 |
| // | Целочисленное деление | 22 // 8 = 2 |
| / | Деление | 22 / 8 = 2.75 |
| * | Умножение | 3 * 3 = 9 |
| - | Вычитание | 5 - 2 = 3 |
| + | Сложение | 2 + 2 = 4 |
Примеры использования математических операторов:
Типы данных
| Тип данных | Примеры |
|---|---|
| Целые числа | -2, -1, 0, 1, 2, 3, 4, 5 |
| Вещественные числа | -1.25, -1.0, --0.5, 0.0, 0.5, 1.0, 1.25 |
| Строки | 'a', 'aa', 'aaa', 'Привет!', '11 котов' |
Переменные
Имя переменной должно подчиняться следующим правилам:
- Может состоять из одного слова (без пробелов).
- Может состоять только из букв, цифр и символа подчёркивания (
_) character. - Не может начинаться с цифры.
Пример:
Комментарии
Однострочный комментарий:
Многострочный комментарий:
Код с комментарием:
Функция print(). Форматирование вывода
Выводит данные на экран.
Для форматирования вывода можно использовать f-строки (f-string):
В более старых версиях Python для форматирования можно использовать функцию format:
Функция input()
Ввод данных с клавиатуры.
Функции str(), int(), и float()
Преобразование целого или вещественного числа в строку:
Вещественное число в целое:
Алгоритмические конструкции
Операторы сравнения
| Operator | Meaning |
|---|---|
== |
Равно |
!= |
Не равно |
< |
Меньше чем |
> |
Больше чем |
<= |
Меньше или равно |
>= |
Больше или равно |
В результате использования операторов сравнения могут получиться два значения - True (Истина) или False (Ложь).
Примеры:
Логические операторы
Существует три логических оператора: and, or, и not.
Таблица истинности оператора and:
| Выражение | Результат |
|---|---|
True and True |
True |
True and False |
False |
False and True |
False |
False and False |
False |
Таблица истинности оператора or:
| Выражение | Результат |
|---|---|
True or True |
True |
True or False |
True |
False or True |
True |
False or False |
False |
Таблица истинности оператора not:
| Выражение | Результат |
|---|---|
not True |
False |
not False |
True |
Логические операторы и операторы сравнения
Оператор if
Необходим для добавления в программу ветвления.
Оператор else
Оператор elif
Цикл while
Цикл с предусловием.
Оператор break
Если интерпретатор встречает оператор break, выполнение цикла сразу же останавливается:
Оператор continue
Когда интерпретатор встречает оператор continue остальные команды внутри цикла пропускаются, цикл переходит к следующей итерации:
Цикл for и функция range
>>> print('Меня зовут:')
>>> for i in range(5):
>>> print(f'Петя ({i})')
Меня зовут:
Петя (0)
Петя (1)
Петя (2)
Петя (3)
Петя (4)Функция range() может быть вызвана с двумя тремя аргументами. Первые два аргумента задают начальное и конечное значения, а третье - шаг изменения. Шаг - это велечина, которая прибавляется к переменной цикла на каждой итерации.
Шаг может быть отрицательным числом.
Строки
Умножение в применении к строкам
Умножив строку на число, можно повторить её нужно количество раз:
Многострочные данные с тройными кавычками
Получение символа. Срез
H e l l o w o r l d !
0 1 2 3 4 5 6 7 8 9 10 11
Срез (Slicing):
Операторы in и not in применительно к строкам
Строковый метод count()
Метод count() позволяет посчитать, сколько раз одна строка встречается в другой строке:
Строковый метод find()
Метод find() позволяет найти позицию, в которой подстрока появляется в строке:
Если подстрока не найдена, метод find() вернёт -1:
Строковый метод replace()
Метод replace() позволяет заменить одну подстроку на другую:
Строковые методы upper(), lower(), isupper(), and islower()
Методы upper() и lower() преобразуют строку в верхний и нижний регистр соответственно:
Методы isupper() и islower() позволяют определить, являются ли символы в строке прописными или строчными
Списки
Получение элемента списка
Отрицательные индексы
Получение среза списка
Срез всего списка позволяет получить копию списка:
Получение количества элементов с помощью фукнции len()
Изменение значений в списке с помощью индексирования
Сложение (конкатенация) и умножение списков
Удаление элементов списка с помощью оператора del
Использование цикла for и списков
>>> supplies = ['pens', 'staplers', 'flame-throwers', 'binders']
>>> for i, supply in enumerate(supplies):
>>> print('Index {} in supplies is: {}'.format(str(i), supply))
Index 0 in supplies is: pens
Index 1 in supplies is: staplers
Index 2 in supplies is: flame-throwers
Index 3 in supplies is: bindersОператоры in и not in
Поиск индекса элемента по его значению с помощью метода index()
Добавление элементов с помощью методов append() и insert()
append():
insert():
Удаление элемента из списка по его значение. Метод remove()
>>> spam = ['cat', 'bat', 'rat', 'elephant']
>>> spam.remove('bat')
>>> spam
['cat', 'rat', 'elephant']Если значение встречается несколько раз, будет удалено только первое встреченное значение.
Удаление значений из списка с помощью метода pop()
Сортировка списка с помощью метода sort()
Словари
Пример словаря:
Методы keys(), values(), и items()
values():
keys():
items():
Используя методы keys(), values(), and items() и цикл for можно перебирать ключи, значения и пары ключ-значение соответственно.
Проверяем наличие ключа или значения в словаре
Метод get()
Метод get обладает двумя параметрами: ключ и значение по умолчанию, если ключа нет в словаре.
Функции
Описание функции
Сопоставление параметров и аргументов
Сопоставление по позиции:
def formatDate(day, month, year):
print(f"Сегодня {day}.{month} {year} года")
formatDate(22, 11, 2021)
# Сегодня 22.11 2021 года
formatDate(11, 2021, 22)
# Сегодня 11.2021 22 годаСопоставление по именам:
def formatDate(day, month, year):
print(f"Сегодня {day}.{month} {year} года")
formatDate(month=11, year=2021, day=22)
# Сегодня 22.11 2021 годаИспользование значений по умолчанию:
def formatDate(day, month, year=2021):
print(f"Сегодня {day}.{month} {year} года")
formatDate(1, 9)
# Сегодня 1.9 2021 года
formatDate(1, 9, 1991)
# Сегодня 1.9 1991 годаПеременное число аргументов:
Создание классов. Модули
Описание класса
Для описания класса используется служебное слово class:
Данные, которые хранятся в объекте называют полями, а функции, которые обрабатывают эти данные - методами.
Метод __init__ является конструктором класса. Каждый метод класса всегда должен содержать минимум один параметр, который принято называть self. Он всегда хранит ссылку на объект, для которого выполняется метод.
Класс может содержать ряд методов:
Наследование
Один класс может наследовать поля и методы другого класса:
class Point:
def __init__(self, initX, initY):
"""Конструктор"""
self.x = initX
self.y = initY
def distanceFromOrigin(self):
"""Расстояние до начала координат"""
return ((self.x ** 2) + (self.y ** 2)) ** 0.5
def __str__(self):
"""Преобразование в строку"""
return "x=" + str(self.x) + ", y=" + str(self.y)
class LabeledPoint(Point):
def __init__(self, initX, initY, label):
super().__init__(initX, initY)
self.label = label
def __str__(self):
return super().__str__() + f" ({self.label})"
labeledPt = LabeledPoint(7,6,"Точка")
print(labeledPt)Пошаговое выполнение данного кода доступно по ссылке.
Модули
Каждый файл с расширением .py является модулем, который можно использовать самостоятельно, или импортировать в другой модуль (файл с кодом).
# файл calc.py
def sum(x,y):
return x + y
def average(x, y):
return (x + y)/2
def power(x, y):
return x**yИмпортируем всё содержимое модуля calc.py:
Импортируем только необходимые функции из модуля calc.py: