Python — это высокоуровневый интерпретируемый язык программирования с динамической типизацией, разработанный Гвидо ван Россумом в 1991 году. Философия языка подчёркивает читаемость кода и простоту синтаксиса, что делает его идеальным выбором как для начинающих программистов, так и для опытных разработчиков.
Python широко используется для создания веб-приложений благодаря фреймворкам Django, Flask, FastAPI. Django предоставляет полноценный MVC-фреймворк с ORM, админ-панелью и системой аутентификации. Flask — микрофреймворк для небольших проектов. FastAPI — современный асинхронный фреймворк с автоматической документацией OpenAPI.
Python — де-факто стандарт в области анализа данных и машинного обучения. Библиотеки NumPy и Pandas обеспечивают эффективную работу с числовыми данными и табличными структурами. Scikit-learn предоставляет алгоритмы классического машинного обучения. TensorFlow и PyTorch — ведущие фреймворки для глубокого обучения.
Благодаря простому синтаксису Python отлично подходит для написания скриптов автоматизации, обработки файлов, парсинга данных и системного администрирования.
SciPy, SymPy и другие библиотеки делают Python мощным инструментом для научных исследований, математических вычислений и визуализации данных с помощью Matplotlib и Seaborn.
# Базовые типы данных
name = "Python" # str
version = 3.12 # float
year = 1991 # int
is_popular = True # bool
# Коллекции
languages = ["Python", "JavaScript", "Go"] # list
config = {"debug": True, "port": 8000} # dict
coordinates = (55.75, 37.62) # tuple
unique_ids = {1, 2, 3, 4, 5} # set
def greet(name: str, greeting: str = "Hello") -> str:
"""Функция приветствия с аннотациями типов"""
return f"{greeting}, {name}!"
# Декоратор
def log_calls(func):
def wrapper(*args, **kwargs):
print(f"Calling {func.__name__}")
result = func(*args, **kwargs)
print(f"Finished {func.__name__}")
return result
return wrapper
@log_calls
def process_data(data):
return data.upper()
from dataclasses import dataclass
from abc import ABC, abstractmethod
@dataclass
class User:
id: int
name: str
email: str
def __post_init__(self):
self.email = self.email.lower()
class Repository(ABC):
@abstractmethod
def find_by_id(self, id: int) -> User:
pass
@abstractmethod
def save(self, user: User) -> None:
pass
import asyncio
import aiohttp
async def fetch_data(url: str) -> dict:
async with aiohttp.ClientSession() as session:
async with session.get(url) as response:
return await response.json()
async def main():
urls = [
"https://api.example.com/users",
"https://api.example.com/products",
]
tasks = [fetch_data(url) for url in urls]
results = await asyncio.gather(*tasks)
return results
# Запуск
data = asyncio.run(main())
Современные проекты на Python используют виртуальные окружения и менеджеры пакетов:
# Создание виртуального окружения
python -m venv .venv
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate # Windows
# Установка зависимостей
pip install -r requirements.txt
# Poetry
poetry init
poetry add fastapi uvicorn
poetry install
Рекомендуется использовать Python 3.10+ для новых проектов. Python 2 официально не поддерживается с 2020 года. Каждая новая версия добавляет улучшения производительности и синтаксические возможности: