Глоссарий

01. Базовые понятия Python

Переменная

Типы данных (int, float, str, bool)

Списки (list)

Кортежи (tuple)

Словари (dict)

Множества (set)

Условные операторы (if, elif, else)

Циклы (for, while)

Функция (def, return)

Ввод/вывод (input(), print())

Комментарии (#)


1) Переменная — это «коробка» для хранения данных. В Python не нужно указывать тип заранее — просто пишем:

name = "Алиса"
age = 25

Теперь в name хранится строка, а в age — число. Переменные помогают обращаться к данным повторно и работать с ними удобно.


2)В Python есть несколько основных типов:

  • int — целое число (5, 100, -3)
  • float — дробное число (3.14, -0.5)
  • str — строка (текст): "Привет"
  • bool — логическое значение: True или False

Пример:

price = 99.9       # float
is_ready = True    # bool
message = "OK"     # str

3)Список — это упорядоченная коллекция элементов. Можно хранить числа, строки или даже другие списки:

fruits = ["яблоко", "груша", "слива"]

Элементы в списке нумеруются с нуля: fruits[0] вернёт "яблоко". Списки можно изменять — добавлять, удалять, сортировать элементы.


4)Кортеж — почти как список, но нельзя изменить его содержимое:

coordinates = (10.5, 20.3)

Используется, когда данные должны оставаться неизменными. Занимает меньше памяти, чем список.


5)Словарь (dict) хранит пары «ключ — значение»:

user = {
    "name": "Алиса",
    "age": 25,
    "is_active": True
}

Обращение по ключу: user["name"] → "Алиса".


6)Множество (set)— это набор уникальных элементов без определённого порядка:

colors = {"красный", "зелёный", "синий"}

Хорошо подходит для удаления повторов и операций с множествами (пересечение, объединение).


7)Условные операторы (if, elif, else)

Позволяют выполнять код в зависимости от условий:

age = 20
if age >= 18:
    print("Совершеннолетний")
else:
    print("Несовершеннолетний")

8)Циклы (for, while)

for — перебирает элементы:

for fruit in fruits:
    print(fruit)

while — выполняет код, пока условие истинно:

i = 0
while i < 3:
    print(i)
    i += 1

9)Функции (def) позволяют переиспользовать код:

def greet(name):
    print("Привет,", name)

greet("Алиса")  # Привет, Алиса

Можно передавать аргументы и возвращать значения через return.


10)Ввод и вывод

print() — выводит текст в консоль:

print("Привет, мир!")

input() — запрашивает ввод пользователя:

name = input("Как тебя зовут? ")

11)Комментарии

Комментарии нужны для пояснений в коде. Они не влияют на выполнение:

# Это однострочный комментарий
02. Работа с функциями

Аргументы и параметры

Значения по умолчанию

Именованные аргументы

*args и **kwargs

Область видимости (scope)

Рекурсия

Лямбда-функции (lambda)


1) Аргументы и параметры

Параметры — это «места для данных» внутри функции, а аргументы — значения, которые мы передаём при вызове.

def greet(name):  # name — параметр
    print("Привет,", name)

greet("Алиса")    # "Алиса" — аргумент

2) Значения по умолчанию

Можно указать стандартные значения для параметров. Если аргумент не передан, возьмётся значение по умолчанию.

def greet(name="Гость"):
    print("Привет,", name)

greet()          # Привет, Гость
greet("Алиса")   # Привет, Алиса

3) Именованные аргументы

Аргументы можно передавать по имени, чтобы не запутаться с порядком.

def user_info(name, age):
    print(name, age)

user_info(age=25, name="Алиса")

4) *args и **kwargs

*args — собирает позиционные аргументы в кортеж, **kwargs — именованные аргументы в словарь.

def demo(*args, **kwargs):
    print("args:", args)
    print("kwargs:", kwargs)

demo(1, 2, 3, name="Алиса", age=25)
# args: (1, 2, 3)
# kwargs: {'name': 'Алиса', 'age': 25}

5) Область видимости (scope)

Переменные бывают локальными (внутри функции) и глобальными (во всём файле). Локальные видны только внутри функции.

x = 10  # глобальная переменная

def func():
    y = 5  # локальная переменная
    print(x, y)

func()
print(x)
# print(y)  # Ошибка: y не видно вне функции

6) Рекурсия

Функция может вызывать саму себя. Это удобно для задач вроде факториала или обхода структур.

def factorial(n):
    if n == 1:
        return 1
    return n * factorial(n - 1)

print(factorial(5))  # 120

7) Лямбда-функции (lambda)

Анонимные (безымянные) функции, которые пишутся в одну строку. Удобны для простых действий.

square = lambda x: x ** 2
print(square(5))  # 25

nums = [1, 2, 3, 4]
print(list(map(lambda n: n * 2, nums)))
# [2, 4, 6, 8]
03. Работа с модулями и библиотеками

import / from import

Стандартная библиотека Python

pip и установка библиотек

venv / virtualenv

requirements.txt


1) import и from import

Модули позволяют разбивать код на логические части и переиспользовать его.

import math
print(math.sqrt(16))  # 4.0

Если нужен конкретный объект из модуля, используют from import:

from math import sqrt
print(sqrt(25))  # 5.0

Так код становится короче и читабельнее.


2) Стандартная библиотека Python

Python «из коробки» содержит сотни полезных модулей - без установки чего-либо.

  • math - математические функции
  • datetime - работа с датой и временем
  • os - работа с файловой системой
  • sys - взаимодействие с интерпретатором
  • random - генерация случайных значений
import datetime
now = datetime.datetime.now()
print(now)

3) pip и установка библиотек

pip - менеджер пакетов Python. С его помощью устанавливаются внешние библиотеки.

pip install requests

После установки библиотеку можно импортировать в коде:

import requests
response = requests.get("https://example.com")
print(response.status_code)

4) venv / virtualenv

Виртуальное окружение - это изолированная среда для проекта со своими библиотеками.

Создание виртуального окружения:

python -m venv venv

Активация:

# Windows
venv\Scripts\activate

# macOS / Linux
source venv/bin/activate

Это спасает от конфликтов версий и делает проекты независимыми друг от друга.


5) requirements.txt

Файл со списком зависимостей проекта. Удобен для передачи и деплоя.

Пример содержимого:

requests==2.31.0
flask==3.0.0

Установка всех зависимостей одной командой:

pip install -r requirements.txt
04. Структуры данных и алгоритмы

Stack, Queue

List comprehension

Сортировка (sorted(), .sort())

Генераторы

Итераторы и итерируемые объекты

enumerate(), zip()

05. Объектно-ориентированное программирование (ООП)

Класс (class)

Объект

Конструктор (init)

self

Атрибуты и методы

Наследование

Инкапсуляция

Полиморфизм

06. Особенности Python

GIL (Global Interpreter Lock)

Индентация и отступы

Интерпретируемый язык

Динамическая типизация

Duck typing

PEP 8

07. Ошибки и отладка

Исключения (try / except)

Встроенные ошибки (IndexError, ValueError и др.)

raise

assert

Отладка (debugging)

Логирование (logging)

08. Работа с файлами и данными

Открытие файлов (open, with)

Чтение/запись

Работа с CSV

JSON (импорт, сериализация)

os и pathlib

datetime

09. Тестирование

Unit-тесты (unittest)

doctest

pytest (если продвинутый уровень)

TDD

10. Веб и API (если планируется в программе)

HTTP-запросы (requests)

JSON

API и взаимодействие с внешними сервисами

Flask / FastAPI (базово, если есть в курсах)

11. Инструменты и окружение

IDE (PyCharm, VSCode)

Интерпретатор

REPL / консоль

Git + GitHub (если используется на курсе)

Jupyter Notebook

requirements.txt / poetry / pipenv