📋 Python — Шпаргалки
Краткие конспекты по каждому разделу курса. Можно распечатать или сохранить как PDF.
📖 1. Введение в Python
Что такое Python?
Интерпретируемый, высокоуровневый язык с динамической типизацией. Создан Гвидо ван Россумом в 1991 г. Назван в честь Monty Python.
Области применения
Веб (Django, Flask), Data Science (NumPy, Pandas), ML (TensorFlow), автоматизация, игры (PyGame), боты, DevOps.
📚 2. Основы Python (уроки 3–8)
Переменные
x = 5 name = "Alice" a = b = c = 0 # множественное присваивание x, y = 1, 2 # распаковка
Типы данных
int — 42, -7, 0 float — 3.14, -0.5, 1e-3 str — "hello", 'world' bool — True, False NoneType — None
Ввод / вывод
print("Hello", name, sep=", ")
print(f"Привет, {name}!")
x = input("Введи число: ") # всегда str!
Числовые операции
+ - * / # базовые // # цело-численное деление % # остаток ** # степень abs(-5) # 5 round(3.14, 1) # 3.1
🔄 3. Приведение типов (урок 5)
Явное приведение
int("42") # 42
float("3.14") # 3.14
str(100) # "100"
bool(0) # False
bool("") # False
bool("hi") # True
Неявное приведение
5 + 3.0 # 8.0 (int → float)
print(42) # "42" (int → str)
f"x={x}" # строковое
🔀 4. Условия (уроки 9–10, 12–13)
if / elif / else
if x > 0:
print("+")
elif x < 0:
print("-")
else:
print("0")
Логические операторы
and # оба True or # хотя бы один not # инверсия # Приоритет: not → and → or
Сравнения
== != > < >= <= 3 < x < 10 # цепочка is / is not # идентичность in / not in # вхождение
Тернарный оператор
x = "even" if n % 2 == 0 else "odd"
🔤 5. Строки (уроки 7, 14–16, 29)
Индексация и срезы
s = "Python" s[0] # 'P' s[-1] # 'n' s[0:3] # 'Pyt' s[::2] # 'Pto' s[::-1] # 'nohtyP'
Методы строк
s.upper() # "HELLO"
s.lower() # "hello"
s.strip() # убрать пробелы
s.replace(a,b)# замена
s.find("x") # индекс / -1
s.startswith("P")
s.endswith("n")
split / join
"a,b,c".split(",") # ['a','b','c']
" ".join(["a","b"]) # "a b"
s.splitlines() # по \n
f-строки
f"{name}: {score:.2f}"
f"{x=}" # x=42
⚙️ 6. Функции (уроки 22–24)
Создание
def add(a, b):
return a + b
def greet(name="Гость"):
print(f"Привет, {name}!")
*args и **kwargs
def f(*args): # кортеж
for a in args: print(a)
def g(**kwargs): # словарь
print(kwargs["key"])
Области видимости
x = 10 # глобальная
def f():
global x # доступ к глоб.
x = 20
Аннотации типов
def add(a: int, b: int) -> int:
return a + b
🔄 7. Циклы (уроки 17–21)
while
i = 0
while i < 5:
print(i)
i += 1
for
for x in [1, 2, 3]:
print(x)
for ch in "abc":
print(ch)
range()
range(stop) # 0 … stop-1 range(start, stop) # start … stop-1 range(start,stop,step)
break / continue
break # выход из цикла
continue # след. итерация
for i in range(5):
if i == 2: continue
if i == 4: break
print(i) # 0 1 3
for + else
for x in data:
if found: break
else:
print("Не найдено")
enumerate / zip
for i, v in enumerate(lst):
print(i, v)
for a, b in zip(A, B):
print(a, b)
🗂️ 8. Структуры данных (уроки 25–30)
Список (list) — изменяемый
lst = [1, 2, 3] lst.append(4) # [1,2,3,4] lst.pop() # удалить посл. lst.insert(0, 0) # по индексу lst.remove(2) # по значению lst.sort() lst.reverse()
Кортеж (tuple) — неизменяемый
t = (1, 2, 3) t = 1, 2, 3 # скобки не обяз. single = (1,) # запятая нужна! a, b, c = t # распаковка
Множество (set) — уникальные
s = {1, 2, 3}
s.add(4)
s.remove(2)
s1 | s2 # объединение
s1 & s2 # пересечение
s1 - s2 # разность
s1 ^ s2 # симм. разность
Словарь (dict) — ключ:значение
d = {"a": 1, "b": 2}
d["c"] = 3 # добавить
d.get("x", 0) # с умолч.
d.keys() / d.values()
d.items() # пары (k,v)
for k, v in d.items(): …
Списочные выражения
[x**2 for x in range(5)] [x for x in lst if x > 0] [(k,v) for k,v in d.items()]
Срезы (любые послед-ти)
lst[start:stop:step] lst[::-1] # реверс lst[:] # копия
⚠️ 9. Обработка ошибок (урок 11)
try / except / finally
try:
x = int(input())
except ValueError:
print("Не число!")
except Exception as e:
print(f"Ошибка: {e}")
else:
print("OK:", x)
finally:
print("Конец")
Вызов исключений
raise ValueError("Сообщение")
raise # повторно в except
📁 10. Файлы и БД (уроки 32–34)
Чтение
with open("f.txt", "r") as f:
text = f.read()
lines = f.readlines()
for line in f:
print(line.strip())
Запись
with open("f.txt", "w") as f:
f.write("Hello\n")
f.writelines(lines)
with open("f.txt", "a") as f:
f.write("append\n")
JSON
import json
with open("data.json", "r") as f:
data = json.load(f)
with open("out.json", "w") as f:
json.dump(data, f, indent=2, ensure_ascii=False)
# Строки: json.loads(s) / json.dumps(obj)
CSV
import csv
with open("data.csv", "r") as f:
reader = csv.reader(f)
for row in reader:
print(row)
with open("out.csv", "w", newline="") as f:
writer = csv.writer(f)
writer.writerow(["Name", "Age"])
🧰 11. Модули (уроки 35–40)
Импорт
import math from math import sqrt, pi import math as m from math import *
math
math.sqrt(16) # 4.0 math.pi / math.e math.ceil(3.1) # 4 math.floor(3.9) # 3 math.gcd(12, 8) # 4 math.sin/cos/tan
random
random.randint(1, 6) # целое [a,b] random.random() # float [0,1) random.choice(lst) # случ. элемент random.shuffle(lst) # на месте! random.sample(lst, k) # k уникальных random.seed(42) # повторяемость
datetime
from datetime import datetime, timedelta
now = datetime.now()
now.strftime("%d.%m.%Y %H:%M")
datetime.strptime(s, "%d.%m.%Y")
now + timedelta(days=7)
(now - old).days # разница
itertools
from itertools import *
product("AB", repeat=2) # дек.произв.
permutations("AB", 2) # перестановки
combinations("AB", 2) # сочетания
chain(a, b) # объединение
cycle([1,2]) # беск. цикл
groupby(sorted_data, key)
Свои модули
# mymodule.py
def helper(): pass
# main.py
import mymodule
mymodule.helper()
if __name__ == "__main__":
main()
🏗️ 12. ООП (уроки 41–42)
Класс и объект
class Dog:
def __init__(self, name):
self.name = name
def bark(self):
print(f"{self.name}: Гав!")
Наследование
class Puppy(Dog):
def __init__(self, name, toy):
super().__init__(name)
self.toy = toy
def bark(self): # переопределение
print("Тяф!")
Магические методы
__str__(self) # str(obj) __repr__(self) # repr(obj) __len__(self) # len(obj) __eq__(self, o) # == __lt__(self, o) # <
Инкапсуляция
_name # protected (соглашение) __secret # name mangling → _Cls__secret @property # декоратор геттера @name.setter
🚀 13. Продвинутые темы (уроки 31, 43–50)
Lambda-функции
square = lambda x: x ** 2 add = lambda a, b: a + b sorted(lst, key=lambda x: x.age)
Декораторы
def timer(fn):
def wrapper(*a, **kw):
start = time()
res = fn(*a, **kw)
print(time()-start)
return res
return wrapper
@timer
def slow(): ...
Генераторы
def gen():
for i in range(5):
yield i
(x**2 for x in range(5)) # genexpr
next(gen) / for x in gen()
Полезные встроенные
map(fn, iter) # применить fn filter(fn, iter) # отфильтровать sorted(iter, key=) any(iter) / all(iter) sum(iter) / max() / min() type(x) / isinstance(x, T) dir(obj) / help(obj)