Перейти к содержанию

09 Переменные (Практика)

Создание переменных

Создание переменной со значением 10

a = 100 # 100

Создать переменную можно используя другую переменную

b = a + 11 # 111

Знак = это присваивания, а не сравнения

10 = 10 # SyntaxError: cannot assign to literal here. Maybe you meant '==' instead of '='?

Значение переменных можно изменять. Переменная a указывает на число 100

a = 3.14 # 3.14

А теперь переменная a указывает на число с плавающей точкой 3.14

Наименование переменных

Корректные названия для переменных

test = 10
test_1 = 10
_test_1_ = 10
__test__ = 10
TEST = 10

Все эти названия для переменных корректные, но стоит обратить внимание на переменную __test__. Так переменные лучше не называть. Переменные, которые имеют в имени 2 подчеркивания вначале и 2 подчеркивания в конце, часто резервируются системой и Python их использует для своей внутренней логики.

Переменная не может начинаться с цифры

1_test = 10 # SyntaxError: invalid decimal literal

Переменная не может использовать в качестве имени зарезервированное слово

if = 10 # SyntaxError: invalid syntax

Но некоторые названия в языке Python мы можем переписать. Например, есть функция, которая переводит целое число в число с плавающей точкой

a = float(10) # 10.0

float – это название функции, которая возвращает число с плавающей точкой

Я могу присвоить имени float какое-то значение

float = 100.5 # 100.5

И если вызвать эту функцию снова, то будет ошибка

a = float(10) # TypeError: 'float' object is not callable

Ошибка возникает потому что имя переменной float больше не указывает на функцию, а указывает на значение 100.5

Чтобы вернуть обратно для переменной float значение по умолчанию нужно использовать функцию del

del float

Тогда функция снова будет работать как раньше

a = float(10) # 10.5

Переменные принято писать в стиле snake_case

current_balance = 100.0

Это корректное название

Можно записать название переменной и через camelCase, ошибки не будет. Но такое написание не рекомендуется.

currentBalance = 100.0

Имена переменных должны отображать суть хранимых значений

x = 100
y = 0.1
z = 10

r = x * ((1 + y/12) ** (z * 12))

print(r) # 270.70414908622433

Понятно ли что написано в этом коде?

А вот этот же код, только переписан с понятными названиями переменных

principal = 100
apr = 0.1
years = 10

future_value = principal * ((1 + apr/12) ** (years * 12))

print(future_value) # 270.70414908622433

Даже просто посмотрев на код, не вдаваясь в формулу, можно понять, что мы имеем дело с суммой вклада, процентной ставкой, годами и будущей прибылью