Коротко о 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: