Соглашения об именах Python — это набор рекомендаций, установленных в PEP8, официальном руководстве по стилю Python. Эти рекомендации устанавливают стандарт того, как мы называем переменные, функции, классы, модули и другие идентификаторы.

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

Наиболее фундаментальные правила в соглашениях об именах Python:

  • Имена чувствительны к регистру.
  • Имена не могут начинаться с цифры.
  • Имена могут содержать буквы, цифры и символы подчеркивания.
Приемлемый var, var, varvar, var1, var2, var3
Недопустимо 1var, var-name, var name
Содержание

Имена, которых следует избегать

Никогда не используйте символы «l»(строчная буква «el»), «O»(прописная буква «oh») или «I»(прописная буква «глаз») в качестве односимвольных имен переменных. В некоторых шрифтах их можно легко принять за «1»(единица), «0»(ноль) и «|».(труба) соответственно.

Зарезервированные слова в Python не могут использоваться в качестве имен переменных. К ним относятся «for», «пока», «если», «иначе» и т. д.

Стили именования программирования

В Python используется несколько стилей:

  1. Змеиный регистр: в змеином регистре все слова разделены строчными буквами. В основном это используется для имен функций и переменных.

Пример: user_name, my_function

  1. Регистр Pascal: регистр Pascal аналогичен регистру Camel, но начинается с заглавной буквы. Это используется для имен классов в Python.

Пример: ClassName, MyClass

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

Пример: myVariable, isInstance

  1. Верхний регистр с подчеркиванием: используется для констант в Python.

Пример: PI, MAX_OVERFLOW

Вот табличное представление различных типов случаев:

Тип корпуса Описание Пример
Змеиный стиль Все слова в нижнем регистре, разделенные подчеркиванием my_function, user_input
Паскаль стиль Первая буква каждого слова пишется с заглавной буквы, кроме первого слова. MyClass, AnotherClass
Верблюжий стиль Первая буква каждого слова пишется с заглавной буквы, кроме первого слова. myVariable, isInstance
Верхний регистр с подчеркиванием Все буквы в верхнем регистре, слова разделяются подчеркиванием. MAX_OVERFLOW, TOTAL

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

Соглашения об именах глобальных переменных

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

Когда дело доходит до именования глобальных переменных в Python, руководство по стилю PEP8 содержит четкие рекомендации.

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

Вот пример:

# Correct way
global_variable = "I'm a global variable"

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

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

Вот пример:

# Correct way
MAX_SIZE = 100
PI_VALUE = 3.14159

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

Соглашения об именах классов

В Python соглашение об именах классов — PascalCase, что означает, что первая буква каждого слова пишется с заглавной буквы и между словами нет подчеркиваний.

Вот пример:

# Correct way
class MyNewClass:
    pass

# Incorrect way
class my_new_class:
    pass

Соглашение об именовании методов класса

Методы в классах Python должны называться с использованием Snake_case. Это означает, что все слова должны быть написаны строчными буквами и разделены подчеркиванием.

Вот пример:

class MyClass:
    def my_method(self):
        pass

Соглашение об именовании атрибутов классов

Подобно методам, атрибуты класса(переменные, определенные в классе) также должны быть названы с использованием Snake_case в Python.

Вот пример:

class MyClass:
    my_attribute = 10

Соглашение об именах файлов классов

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

Соглашение об именовании экземпляров классов

При создании экземпляров класса(также известного как объекты) в Python рекомендуется также использовать Snake_case. Это обеспечивает согласованность с остальными переменными.

Вот пример:

class MyClass:
    pass

my_class_instance = MyClass()

Соглашения об именах объектов

Объекты в Python — это экземпляры определенного вами класса. Соглашение об именовании объектов Python соответствует тем же правилам, что и обычные переменные.

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

Давайте рассмотрим класс с именем Car:

class Car:
    def __init__(self, color, make, model):
        self.color = color
        self.make = make
        self.model = model

При создании объекта (или экземпляра) класса Car имя должно соответствовать соглашению Snake_case. Вот пример:

# Correct way
my_car = Car('red', 'Toyota', 'Corolla')

# Incorrect way
MyCar = Car('red', 'Toyota', 'Corolla')
myCar = Car('red', 'Toyota', 'Corolla')

В приведенном выше примере my_car ясно сообщает, что это экземпляр автомобиля, и следует соглашению об именах Snake_case.

Соглашения об именах переменных

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

Вот пример:

# Correct way
my_variable = 10

# Incorrect way
myVariable = 10
MyVariable = 10

Вот еще несколько рекомендаций по именованию переменных в Python:

  • Имена переменных должны быть описательными и содержательными, чтобы сделать код более читабельным и понятным.

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

num_users = 500
  • Избегайте использования в циклах односимвольных имен переменных, за исключением распространенных, таких как i или j.
for i in range(10):
    print(i)
  • Не начинайте имена переменных с цифры или специального символа.
# Incorrect
123abc = "Hello"
@name = "Hello"

# Correct
abc123 = "Hello"
name = "Hello"
  • Избегайте использования ключевых слов Python и имен функций в качестве имен переменных. Например, не называйте свой список переменных, dict, str, print и т. д.
# Incorrect
list = [1, 2, 3]

# Correct
my_list = [1, 2, 3]

Соглашения об именах в Python

Соглашение об именах функций

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

Вот пример:

# Correct way
def my_function():
    pass

# Incorrect way
def MyFunction():
    pass

def myFunction():
    pass

Вот еще несколько рекомендаций по именованию функций в Python:

  • Описательные имена: Имена функций должны быть описательными и указывать назначение функции. Это улучшает читаемость и понимание кода.
# Correct way
def calculate_average():
    pass

# Incorrect way
def func1():
    pass

В приведенном выше примере Calculate_average дает четкое представление о том, что должна делать функция, тогда как func1 не предоставляет никакого значимого контекста.

  • Избегайте использования ключевых слов Python и имен функций. Не называйте свою функцию так же, как ключевые слова Python или существующие имена функций. Это может привести к нежелательному поведению и путанице.
# Incorrect
def print():
    pass

# Correct
def print_custom_message():
    pass
  • Используйте слова действия. Поскольку функции обычно выполняют действие, рекомендуется начинать имя функции с глагола. Это сразу дает представление о том, какое действие выполняет функция.
# Correct
def get_total():
    pass

# Correct
def print_report():
    pass

Заключение

Соблюдение соглашений об именах Python — важнейший аспект написания чистого, профессионального и эффективного кода. Это делает ваш код более читабельным и понятным не только для других, но и для вас самих в будущем.

Соглашения об именах Python, изложенные в руководстве по стилю PEP8, дают четкие указания о том, как следует называть такие идентификаторы, как переменные, функции, классы, методы, модули и другие элементы. Сюда входят такие методы, как использование Snake_case для переменных и функций, PascalCase для классов и UPPER_CASE_WITH_UNDERSCORES для констант.

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

В конце концов, основная цель использования этих соглашений — написать код, который легко читать, понимать и поддерживать. Используя понятные, описательные имена, вы можете сделать свой код понятным, уменьшив необходимость в чрезмерных комментариях и упрощая другим(и вам в будущем) быстрое понимание назначения различных частей вашего кода.

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