Объявление переменных и запись данных в Python

Раздел: Основы Python -> Основы синтаксиса

Основы объявления переменных

В Python переменная создается в момент первого присваивания ей значения. Интерпретатор автоматически определяет тип данных на основе присвоенного объекта. Наиболее распространенный способ - оператор присваивания =.

Простое присваивание: имя = выражение. После этого переменная ссылается на объект, полученный в результате вычисления выражения.

name = 'Алиса'
age = 30
pi = 3.14

Python определение функции (определение функции в python)

Здесь созданы три переменные: строковая, целочисленная и с плавающей точкой. Тип определяется автоматически.

Типичная ошибка: использование неопределенной переменной до присваивания. Вызовет NameError. Решение - всегда присваивать значение перед использованием.

Как присвоить значения нескольким переменным в одной строке?

a, b, c = 1, 2, 3

Positional argument python (позиционные аргументы в python)

Кортеж значений справа распаковывается в переменные слева. Количество элементов должно совпадать.

Ошибка: несовпадение количества вызовет ValueError: too many values to unpack. Решение - использовать распаковку с * или согласовать количество.

Как извлечь первый элемент и остаток последовательности?

numbers = [10, 20, 30, 40, 50]
first, *rest = numbers
print(first, rest)  # 10 [20, 30, 40, 50]

базовые коды в python (базовые коды на python)

Оператор * собирает оставшиеся элементы в список. Можно использовать в любой позиции.

Ошибка: если последовательность пуста, то rest будет пустым списком, а переменная без звездочки получит ValueError (если не хватает элементов). Решение - проверять длину или использовать значение по умолчанию.

Как присвоить значение переменной внутри выражения (walrus operator)?

if (n := len([1,2,3,4,5,6])) > 5:
    print(f'Длина списка {n} больше пяти')

запись переменных в python (объявление и запись переменных в python)

Оператор := (Python 3.8+) присваивает значение переменной и одновременно возвращает его. Удобно в условиях и циклах.

Типичная ошибка: попытка использовать := внутри обычного присваивания - синтаксическая ошибка. Разрешено только в выражениях (например, в условиях, списковых включениях).

Как присвоить переменной значение с преобразованием типа?

x = int('42')
y = float('3.14')
z = bool(1)

как закоментить несколько строк в python (комментирование блоков кода в python)

Функции преобразования явно задают тип, что полезно при получении данных из внешних источников.

Ошибка: если строка не может быть преобразована, возникает ValueError. Решение - использовать обработку исключений try/except.

Как динамически создать переменную по имени (не рекомендуется)?

var_name = 'dynamic_var'
globals()[var_name] = 100
print(dynamic_var)  # 100

Через globals() или locals() можно задать переменную с именем из строки. Однако такой подход усложняет отладку и читаемость; предпочтительнее использовать словарь.

Проблема: затрудняется статический анализ кода, возможны конфликты с существующими именами. Используйте только в крайних случаях.

Расширенные примеры присваивания

Ниже приведены менее распространенные, но полезные варианты записи переменных.

Обмен значениями двух переменных

Пример
a, b = 5, 10
a, b = b, a
print(a, b)  # 10 5

Кортежная распаковка позволяет обменять значения без временной переменной.

10 5

Распаковка с подчеркиванием и звездочкой

Пример
_, second, *_ = [1, 2, 3, 4, 5]
print(second)  # 2

Подчеркивание _ - соглашение для неиспользуемых значений. Звездочка собирает остаток.

2

Присваивание срезу списка

Пример
lst = [1, 2, 3, 4]
lst[1:3] = [10, 20]
print(lst)  # [1, 10, 20, 4]

Срез может заменить подпоследовательность другим списком. Количество элементов не обязательно совпадает.

[1, 10, 20, 4]

Присваивание ключу словаря

Пример
d = {}
d['key'] = 'value'
print(d)  # {'key': 'value'}

Словари позволяют динамически создавать и изменять записи.

{'key': 'value'}

Использование walrus в списковом включении

Пример
[(x, y) for x in range(3) if (y := x * 2) > 0]
# Результат: [(1, 2), (2, 4)]

Оператор := позволяет определить переменную внутри генератора и использовать её в условии и возвращаемом значении.

[(1, 2), (2, 4)]

Вложенная распаковка

Пример
point = (10, (20, 30))
x, (y, z) = point
print(x, y, z)  # 10 20 30

Распаковка работает рекурсивно для вложенных последовательностей.

10 20 30

Присваивание атрибутам объекта

Пример
class Person:
    pass
p = Person()
p.name = 'Боб'
p.age = 25
print(p.name, p.age)  # Боб 25

Атрибуты экземпляра создаются в момент присваивания.

Боб 25

Объявление и запись переменных в Python - comments

En
запись переменных в python (python)