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

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

Создание переменной в Python

Наиболее распространённый способ создания переменной заключается в использовании оператора присваивания =. Переменная появляется в момент первого присваивания, и её тип определяется автоматически на основе присвоенного значения.

x = 5

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

Пояснение: переменная x теперь хранит целое число 5. Тип int.

name = 'Анна'

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

Пояснение: переменная name хранит строку. Никакого дополнительного объявления не требуется.

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

В правой части оператора присваивания может находиться любое выражение. Python вычисляет его и записывает результат в переменную.

summa = 10 + 20 * 3

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

Результат: summa = 70 (сначала умножение, затем сложение).

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

Можно перечислить имена переменных слева от = через запятую, а справа - соответствующие значения. Количество переменных должно совпадать с количеством значений.

a, b, c = 1, 2, 3

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

Результат: a=1, b=2, c=3. Этот способ удобен для инициализации нескольких переменных сразу.

Как распаковать последовательность в переменные?

Если справа стоит итерируемый объект (список, кортеж, строка), его элементы можно присвоить отдельным переменным. Количество переменных должно равняться длине последовательности.

lst = [10, 20, 30]
x, y, z = lst

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

Результат: x=10, y=20, z=30. Данный приём называется распаковкой.

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

Иногда требуется объявить переменную, чтобы потом присвоить ей значение. В Python для этого используется объект None.

result = None

несколько значений в переменной python (присваивание нескольких значений переменным в python)

Пояснение: result существует, но не содержит полезных данных. Позже можно присвоить другое значение.

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

В Python нет встроенных констант, но по соглашению имена констант пишут заглавными буквами. Это подсказка программисту, что значение менять не следует.

PI = 3.14159
MAX_USERS = 100

Типичные ошибки и их решения:

  • NameError: попытка использовать переменную до её создания. Решение: убедиться, что присваивание выполнено раньше.
  • ValueError: несовпадение количества переменных и значений при распаковке. Решение: проверить длину последовательности или использовать символ * для упаковки остатка.
  • Неожиданное поведение с изменяемыми объектами: если одной переменной присвоить список, а затем другой переменной - ту же самую ссылку, изменения через одну переменную отразятся на другой. Решение: для независимого копирования использовать list.copy() или copy.deepcopy().

Дополнительные примеры создания переменных

Рассмотрим более сложные ситуации, которые часто встречаются на практике.

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

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

Пример
x = 5
y = 10
x, y = y, x
print(x, y)
10 5

Распаковка с использованием звездочки

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

Пример
first, *middle, last = [1, 2, 3, 4, 5]
print(first, middle, last)
1 [2, 3, 4] 5

Присваивание результата функции с возвратом кортежа

Функция divmod() возвращает частное и остаток.

Пример
q, r = divmod(17, 5)
print(f'Частное: {q}, Остаток: {r}')
Частное: 3, Остаток: 2

Присваивание с помощью оператора морж (walrus operator)

Оператор := позволяет присвоить значение переменной прямо внутри выражения. Созданная переменная доступна и после выражения.

Пример
if (n := len([1, 2, 3])) > 2:
    print(f'Длина {n} больше 2')
Длина 3 больше 2

Присваивание с аннотацией типа

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

Пример
count: int = 0
name: str = 'Python'

Аннотация помогает при статическом анализе кода, но не вызывает ошибок при несоответствии.

Создание новой переменной в Python - comments

En
новая переменная в python (python)