Какие имена являются правильными в python
Перейти к содержимому

Какие имена являются правильными в python

  • автор:

Правильный выбор имен переменных в Python

Будучи единоличным хозяином своей программы, вы вправе выбирать имена пе­ременным. В прошлой статье я решил назвать переменную name, но с тем же успехом можно было бы ее именовать human, nickname или даже omega12345666: работа программы нисколько не изменилась бы.

Для создания корректных имен перемен­ных надо следовать всего нескольким правилам; о некорректном имени Python вам сообщит, выведя ошибку.

Итак, важнейших правил два:

  • имя переменной может состоять только из цифр, букв и знаков подчеркивания;
  • имя переменной не может начинаться с цифры.

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

Вы тоже, приобретя некоторый опыт, почувствуете разницу между “просто корректными” и “хорошими” именами переменным(приведу пример прямо сейчас: имя omega12345666 – корректное, но очень, очень плохое). Перечислю основное, что надо и нужно запомнить.

Имя должно описывать суть. Следует называть переменные так, чтобы другой программист, взглянув на ваш код, смог толком разобраться, что есть что. По­nэтому, например, score лучше, чем s.

Исключение – кратковременно действу­ющие переменные, которым программисты склонны присваивать короткие име­на, например х. Но даже этот случай нельзя считать подлинным исключением, ведь, называя переменную х, программист дает понять, что она временная.

Будьте последовательны. Есть много разных позиций по вопросу о том, как лучше оформлять имена переменных, составленные из нескольких слов. Будет ли лучше, например, написать high_score или highScore?

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

Уважайте обычай языка. Некоторые правила именования переменных – всего лишь дань традиции. Так, в большинстве языков программирования, в том чис­ле и в Python, имя переменной принято начинать со строчной буквы.

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

Следите за длиной. Иногда эта рекомендация может вступать в противоречие с первой, требующей от имен переменных описательной силы. В самом деле, разве удобно пользоваться таким, например, именем: persona1_checking_account_bаlance’? Видимо, нет.Чересчур длинные имена переменных проблематичны, в частности, тем, что загромождают код.

А кроме того, чем длиннее имя, тем выше риск сделать в нем опечатку. Советую вам не создавать имена длиннее 15 символов.

Кстати, самодокументирующим называется код, из которого даже без комментариев легко понять, что про­исходит в программе. «Говорящие» имена переменных – немаловажный шаг на пути к созданию такого кода.

Вот что случится если объявить переменную ошибочно, то есть начать переменную с цифрами:

Переменные#

Переменные в Python не требуют объявления типа переменной (так как Python – язык с динамической типизацией) и являются ссылками на область памяти. Правила именования переменных:

  • имя переменной может состоять только из букв, цифр и знака подчёркивания;
  • имя не может начинаться с цифры;
  • имя не может содержать специальных символов @, $, %.

Пример создания переменных в Python:

In [1]: a = 3 In [2]: b = 'Hello' In [3]: c, d = 9, 'Test' In [4]: print(a,b,c,d) 3 Hello 9 Test 

Обратите внимание, что в Python не нужно указывать, что «a» это число, а «b» это строка.

Переменные являются ссылками на область памяти. Это можно продемонстрировать с помощью id(), которая показывает идентификатор объекта:

In [5]: a = b = c = 33 In [6]: id(a) Out[6]: 31671480 In [7]: id(b) Out[7]: 31671480 In [8]: id(c) Out[8]: 31671480 

В этом примере видно, что все три имени ссылаются на один и тот же идентификатор, то есть, это один и тот же объект, на который указывают три ссылки – «a», «b» и «c». С числами у Python есть одна особенность, которая может немного сбить с понимания: числа от -5 до 256 заранее созданы и хранятся в массиве (списке). Поэтому при создании числа из этого диапазона фактически создаётся ссылка на число в созданном массиве.

Эта особенность характерна именно для реализации CPython, которая рассматривается в книге

Это можно проверить таким образом:

In [9]: a = 3 In [10]: b = 3 In [11]: id(a) Out[11]: 4400936168 In [12]: id(b) Out[12]: 4400936168 In [13]: id(3) Out[13]: 4400936168 

Обратите внимание, что a , b и число 3 имеют одинаковые идентификаторы. Все они являются ссылками на существующее число в списке.

Если сделать то же самое с числом больше 256, идентификаторы у всех будут разные:

In [14]: a = 500 In [15]: b = 500 In [16]: id(a) Out[16]: 140239990503056 In [17]: id(b) Out[17]: 140239990503032 In [18]: id(500) Out[18]: 140239990502960 

При этом, если сделать присваивание переменных друг другу, то идентификаторы будут у всех одинаковые (в таком варианте a , b и c ссылаются на один и тот же объект):

In [19]: a = b = c = 500 In [20]: id(a) Out[20]: 140239990503080 In [21]: id(b) Out[21]: 140239990503080 In [22]: id(c) Out[22]: 140239990503080 

Имена переменных#

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

  • имена переменных обычно пишутся или полностью большими или полностью маленькими буквами (например DB_NAME, db_name);
  • имена функций задаются маленькими буквами, с подчёркиваниями между словами (например, get_names);
  • имена классов задаются словами с заглавными буквами без пробелов, это так называемый CamelCase (например, CiscoSwitch).

Переменные в Python для начинающих

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

Переменная это не что иное, как имя, с помощью которого можно обратиться к данным, сохраненным в памяти компьютера. Другими словами, переменная — это именованная область памяти. Чтобы создать переменную и назначить ей значение используется оператор присваивания. Вот несколько примеров того, как создается, или, как говорят программисты, «объявляется» переменная

first = "синий" second = 23  

Синтаксис «объявления» прост: достаточно написать имя переменной, знак «=» и значение переменной. У разных переменных могут быть разные типы данных. В нашем примере переменная first является строкой, а переменная second — числом. В Python, кроме строк и чисел, есть и другие типы данных. Если вы начинающий программист и не знаете, что такое типы данных, не переживайте, об этом будет рассказано чуть позже.

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

first = "синий" second = 23 print(first, second)  

Попробуйте запустить такую программу и посмотрите, что она выведет на экран.

Имена переменных ¶

Следует придерживаться нескольких несложных правил при выборе имен переменных:

  1. Имя переменной может содержать только латинские буквы, числа и символ нижнего подчеркивания;
  2. Имя переменной не должно содержать пробелов;
  3. Имя переменной не должно начинаться с цифры;
  4. Регистр важен: var и Var это разные переменные.

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

Понятные названия

Названия должны однозначно говорить о том, зачем нужна сущность: переменная, функция или что-то ещё.

Переменные – это сущности, а их названия – это существительные ( user.level ) или их свойства ( user.is_admin ). Название должно ясно ответить на вопрос «Что хранит переменная?».

Функции что-то делают с переменными, значит их названия – глаголы ( download_report , levelup_user ), и они отвечают на вопрос «Что делает функция?». Ответ должен быть полным, исчерпывающим. Например, недопустима ситуация когда def fetch_page(url) делает что-то неожиданное, не предусмотренное названием: выводит в консоль, вызывает exit(‘Случилась ошибка. Все сломалось’) и прочее.

Названия должны быть:

  • понятными: понятно говорить о смысле. Не result , а users_online или json_content .
  • точными: переменная user_online не подходит для хранения списка пользователей. Такое название вводит в заблуждение и провоцирует на ошибки в коде. Корректный вариант — users_online .
  • полными: никаких r для радиуса Земли или i для элемента списка. В первом случае подойдёт earth_radius , а во втором какой-нибудь user или book , в зависимости от того, что в списке. Длинные названия – не проблема, у всех давно есть автокомплит.
  • на английском: никаких kniga или polsovatel . Брр.
  • грамотными: не поленись открыть переводчик и гугл, чтобы подобрать правильный перевод. Неправильный перевод создаёт ощущение неряшливости, а может и смыслу навредить – тогда о читаемости не может быть и речи.
  • уникальными: в Питоне есть встроенные функции, называть переменные их именами нельзя: тогда функция станет недоступна. Среди них есть file, dict, all, str.

Читайте дальше

Попробуйте бесплатные уроки по Python

Получите крутое код-ревью от практикующих программистов с разбором ошибок и рекомендациями, на что обратить внимание — бесплатно.

Переходите на страницу учебных модулей «Девмана» и выбирайте тему.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *