Python

Как можно назвать переменную в Python: правила, стиль и хорошие примеры

Переменную в Python можно назвать буквами, цифрами и нижним подчеркиванием, но имя не должно начинаться с цифры и не должно совпадать с ключевым словом языка. В обычном Python-коде переменные принято писать в стиле snake_case: слова маленькими буквами через нижнее подчеркивание

Например, хорошие имена выглядят так

user_name = "Анна"
total_price = 1500
is_active = True
items_count = 12

Такие имена читаются почти как обычный текст. По ним понятно, что лежит внутри переменной и зачем она нужна

Какие имена допустимы технически

В Python имя переменной может содержать

  • буквы
  • цифры
  • нижнее подчеркивание _

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

name = "Анна"
user2 = "Иван"
user_name = "Мария"
_private_value = 10

Так можно

price1 = 100
price_2 = 200

А так нельзя

1price = 100
user-name = "Анна"
total price = 500

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

Нельзя использовать ключевые слова Python

Ключевые слова уже заняты языком. Их нельзя использовать как имена переменных

Примеры ключевых слов

if
else
for
while
def
class
return
import
try
except
True
False
None

Если написать так, будет ошибка

class = "Python"

Правильно выбрать другое имя

course_class = "Python"
class_name = "Python"

Проверить список ключевых слов можно прямо в Python

import keyword

print(keyword.kwlist)

Стиль snake_case

По PEP 8 имена обычных переменных и функций в Python пишут маленькими буквами через нижнее подчеркивание

first_name = "Анна"
last_name = "Петрова"
order_total = 3490
is_paid = False

Такой стиль называется snake_case. Он хорошо читается и принят в большинстве Python-проектов

Не стоит писать обычные переменные так

FirstName = "Анна"
firstName = "Анна"
FIRSTNAME = "Анна"

FirstName больше похож на имя класса, firstName характерен для других языков, а FIRSTNAME обычно используют для констант

Как выбирать понятное имя

Хорошее имя отвечает на вопрос: что хранится в переменной

Плохо

a = 1500
b = 300
c = a - b

Лучше

price = 1500
discount = 300
final_price = price - discount

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

Когда короткие имена нормальны

Короткие имена не всегда плохие. В маленьком цикле i или x могут быть уместны, если смысл очевиден

for i in range(5):
    print(i)

Но если переменная живет дольше пары строк, лучше дать ей понятное имя

for product in products:
    print(product)

product читается лучше, чем p, если дальше внутри цикла есть несколько действий

Имена для логических переменных

Переменные со значениями True или False хорошо называть так, чтобы они звучали как вопрос

is_active = True
has_access = False
can_edit = True
is_admin = False

Такой код хорошо читается в условиях

if is_active and has_access:
    print("Пользователь может войти")

Плохой вариант

active = True
access = False

Он не всегда ясно показывает, что переменная хранит именно логическое значение

Имена для списков и словарей

Списки обычно называют во множественном числе

users = ["Анна", "Иван", "Мария"]
prices = [100, 250, 300]
orders = []

Один элемент в цикле называют в единственном числе

for user in users:
    print(user)

Словари называют по смыслу данных

user = {
    "name": "Анна",
    "age": 24
}

prices_by_product = {
    "хлеб": 60,
    "молоко": 90
}

Имя prices_by_product сразу подсказывает, что цены хранятся по товару

Константы пишут заглавными буквами

Если значение договорились не менять в программе, его часто называют константой и пишут заглавными буквами

MAX_ATTEMPTS = 3
DEFAULT_CITY = "Москва"
TAX_RATE = 0.2

Python технически не запрещает изменить такую переменную, но стиль показывает другим разработчикам: это значение считается постоянным

Можно ли называть переменные по-русски

Python 3 позволяет использовать Unicode в именах переменных, поэтому технически такое возможно

цена = 100
скидка = 20
print(цена - скидка)

Но в большинстве проектов так не делают. Английские имена лучше совместимы с библиотеками, документацией, командной разработкой и поиском ошибок. Для учебных первых шагов русские имена могут помочь понять идею переменных, но дальше лучше переходить на английские

Не называйте переменные как встроенные функции

Технически Python позволит написать так

list = [1, 2, 3]
sum = 100
str = "текст"

Но это плохая идея. Вы перекрываете встроенные функции list(), sum(), str(), и потом код может вести себя неожиданно

Лучше так

numbers = [1, 2, 3]
total = 100
text = "текст"

Мини-практика

Переименуйте переменные в этом коде

a = 1200
b = 200
c = a - b
print(c)

Хороший вариант

price = 1200
discount = 200
final_price = price - discount
print(final_price)

Теперь сделайте то же самое с кодом

x = ["Анна", "Иван"]
y = True

Подумайте, что хранится в переменных, и назовите их по смыслу

Частые ошибки

Начинать имя с цифры

2user вызовет ошибку. Можно написать user2

Использовать дефис

user-name воспринимается как вычитание. Используйте user_name

Называть все переменные одной буквой

Код становится коротким, но непонятным. Для учебных задач лучше сразу привыкать к смысловым именам

Перекрывать встроенные функции

Не называйте переменные list, dict, sum, str, input, print

Что почитать дальше по Python

Если нужен общий маршрут по теме, откройте рубрику Python. Для соседних задач пригодятся эти разборы:

Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные

Настройки cookie

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x