Перейти к содержимому

Python Basics

# Целые числа (int)
x = 42
y = -10
z = 1_000_000 # Подчёркивания для читаемости
# Числа с плавающей точкой (float)
pi = 3.14159
scientific = 1.23e-5 # Научная запись
# Комплексные числа (complex)
c = 3 + 4j
# Создание строк
s1 = "Привет"
s2 = 'Мир'
s3 = """Многострочная
строка"""
# Форматирование
name = "Анна"
age = 25
print(f"Имя: {name}, Возраст: {age}")
# Создание списков
numbers = [1, 2, 3, 4, 5]
empty = []
list_from_string = list("hello") # ['h', 'e', 'l', 'l', 'o']
# Основные методы
numbers.append(6) # Добавить в конец
numbers.insert(0, 0) # Вставить по индексу
numbers.remove(3) # Удалить по значению
popped = numbers.pop() # Удалить и вернуть последний
numbers.index(2) # Индекс элемента
numbers.count(1) # Подсчёт вхождений
numbers.sort() # Сортировка
numbers.reverse() # Обратный порядок
# Создание словарей
person = {
"name": "Анна",
"age": 25,
"city": "Москва"
}
# Основные методы
person.keys() # Ключи
person.values() # Значения
person.items() # Пары ключ-значение
person.get("name") # Получение значения (без ошибки)
person.update({"age": 26}) # Обновление
person.pop("city") # Удаление и возврат
# Создание кортежей (неизменяемые списки)
point = (10, 20)
empty = ()
single = (42,) # Запятая обязательна для одного элемента
# Распаковка
x, y = point
# Создание множеств
numbers = {1, 2, 3, 4, 5}
from_list = set([1, 2, 2, 3]) # {1, 2, 3}
# Основные методы
numbers.add(6) # Добавление
numbers.remove(3) # Удаление
numbers.discard(10) # Удаление без ошибки
set1 | set2 # Объединение
set1 & set2 # Пересечение
set1 - set2 # Разность
# Базовая структура
if condition:
# код
elif another_condition:
# код
else:
# код
# Операторы сравнения
x == y # Равно
x != y # Не равно
x > y # Больше
x < y # Меньше
x >= y # Больше или равно
x <= y # Меньше или равно
# Логические операторы
x and y # И
x or y # ИЛИ
not x # НЕ
value = "да" if condition else "нет"
# Итерация по списку
for item in list:
# код
# Использование range
for i in range(5): # 0, 1, 2, 3, 4
for i in range(1, 6): # 1, 2, 3, 4, 5
for i in range(0, 10, 2): # 0, 2, 4, 6, 8
# enumerate для индекса
for index, value in enumerate(list):
print(index, value)
while condition:
# код
# Бесконечный цикл с break
while True:
# код
if condition:
break
for i in range(10):
if i == 5:
break # Выход из цикла
if i % 2 == 0:
continue # Переход к следующей итерации
print(i)
for i in range(5):
if i == 10:
break
else:
# Выполняется, если не было break
print("Цикл завершён без break")
# Простая функция
def greet():
return "Привет!"
# С параметрами
def greet(name):
return f"Привет, {name}!"
# С параметрами по умолчанию
def greet(name, greeting="Привет"):
return f"{greeting}, {name}!"
# С возвращаемым значением
def add(a, b):
return a + b
# *args для переменного количества аргументов
def sum_all(*numbers):
return sum(numbers)
sum_all(1, 2, 3) # 6
# **kwargs для именованных аргументов
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_info(name="Анна", age=25)
# Анонимные функции
add = lambda a, b: a + b
square = lambda x: x ** 2
# Использование с map
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x ** 2, numbers)) # [1, 4, 9, 16, 25]
# Использование с filter
even = list(filter(lambda x: x % 2 == 0, numbers)) # [2, 4]
def factorial(n):
if n == 0 or n == 1:
return 1
return n * factorial(n - 1)
factorial(5) # 120
# Чтение всего файла
with open("file.txt", "r", encoding="utf-8") as file:
content = file.read()
# Чтение по строкам
with open("file.txt", "r", encoding="utf-8") as file:
for line in file:
print(line.strip())
# Чтение в список
with open("file.txt", "r", encoding="utf-8") as file:
lines = file.readlines()
# Перезапись
with open("file.txt", "w", encoding="utf-8") as file:
file.write("Текст")
# Добавление в конец
with open("file.txt", "a", encoding="utf-8") as file:
file.write("Текст")
# Запись нескольких строк
lines = ["Строка 1\n", "Строка 2\n"]
with open("file.txt", "w", encoding="utf-8") as file:
file.writelines(lines)
РежимОписание
”r”Чтение (по умолчанию)
“w”Запись (перезапись)
“a”Добавление
”r+“Чтение и запись
”rb”Чтение бинарное
”wb”Запись бинарное
import json
# Загрузка из файла
with open("data.json", "r", encoding="utf-8") as file:
data = json.load(file)
# Запись в файл
data = {"name": "Анна", "age": 25}
with open("data.json", "w", encoding="utf-8") as file:
json.dump(data, file, ensure_ascii=False, indent=4)
# Преобразование строки
json_str = json.dumps(data)
data = json.loads(json_str)
# Импорт всего модуля
import math
print(math.sqrt(16))
# Импорт с псевдонимом
import math as m
print(m.sqrt(16))
# Импорт конкретных функций
from math import sqrt, pi
print(sqrt(16))
print(pi)
# Импорт всех (не рекомендуется)
from math import *
my_module.py
def greet(name):
return f"Привет, {name}!"
PI = 3.14159
# Использование
import my_module
my_module.greet("Анна")
try:
# Код, который может вызвать ошибку
result = 10 / 0
except ZeroDivisionError as e:
print(f"Ошибка деления на ноль: {e}")
except Exception as e:
print(f"Другая ошибка: {e}")
else:
# Выполняется, если не было ошибок
print("Успешно")
finally:
# Выполняется всегда
print("Завершено")
# Вызов исключения
raise ValueError("Неверное значение")
# Создание собственного исключения
class CustomError(Exception):
pass
raise CustomError("Произошла ошибка")
# Генератор с yield
def countdown(n):
while n > 0:
yield n
n -= 1
for i in countdown(5):
print(i) # 5, 4, 3, 2, 1
# Генераторное выражение
squares = (x ** 2 for x in range(10))
# Простой декоратор
def my_decorator(func):
def wrapper():
print("До вызова функции")
func()
print("После вызова функции")
return wrapper
@my_decorator
def greet():
print("Привет!")
greet()
from datetime import datetime, date, time, timedelta
# Текущая дата и время
now = datetime.now()
print(now) # 2024-03-07 12:00:00
# Форматирование
formatted = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted) # 2024-03-07 12:00:00
# Парсинг
parsed = datetime.strptime("2024-03-07", "%Y-%m-%d")
print(parsed) # 2024-03-07 00:00:00
# Разница во времени
delta = timedelta(days=7)
future = now + delta
print(future) # Через 7 дней
Окно терминала
# Создание виртуального окружения
python -m venv venv
# Активация (Windows)
venv\Scripts\activate
# Активация (macOS/Linux)
source venv/bin/activate
# Деактивация
deactivate
# Экспорт зависимостей
pip freeze > requirements.txt
# Установка зависимостей
pip install -r requirements.txt