Style Guide for Python Code: Naming Conventions

← →
Английский оригинал Перевод на русский

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

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

wuffur 21.03.09 в 14:03

0

Новые модули и пакеты (включая фреймворки от третьих лиц) следовало бы написать по этим стандартам, но когда существующая библиотека имеет отличный стиль написания, предпочтительнее чтобы было внутренне непротиворечиво.

wuffur 21.03.09 в 14:20

0
+1

Описание стилей именования

rnd0011 07.03.11 в 19:47

0

Существует много различных стилей обозначения

wuffur 21.03.09 в 14:23

0

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

wuffur 21.03.09 в 14:25

0

Следующие стили обозначений широко известны:

wuffur 21.03.09 в 14:27

0

- b (одна буква в нижнем регистре)

wuffur 21.03.09 в 14:27

0

- B (одна буква в верхнем регистре)

wuffur 21.03.09 в 14:28

0

- нижнийрегистр

svartalf 17.02.09 в 14:35

0

- lowercase (нижний регистр)

rnd0011 05.03.11 в 17:59

0

- нижний_регистр_с_подчёркиваниями

svartalf 17.02.09 в 14:51

0

- lower_case_with_underscores (нижний регистр с подчёркиваниями)

rnd0011 05.03.11 в 17:59

0

- ВЕРХНИЙРЕГИСТР

svartalf 17.02.09 в 14:36

0

- UPPERCASE (верхний регистр)

rnd0011 05.03.11 в 18:00

0

- ВЕРХНИЙ_РЕГИСТР_С_ПОДЧЁРКИВАНИЯМИ

svartalf 17.02.09 в 14:51

0

- UPPER_CASE_WITH_UNDERSCORES (верхний регистр с подчёркиваниями)

rnd0011 05.03.11 в 18:00

0

- CapitalizedWords, CapWords, CamelCase, StudlyCaps (так называемый «верблюжий» регистр).

rnd0011 05.03.11 в 18:05

0

Примечание. В «верблюжьем» регистре буквы сокращений записываются в верхнем регистре.
Например, HTTPServerError вместо HttpServerError.

rnd0011 05.03.11 в 18:10

0

- mixedCase (отличается от «верблюжьего» регистра строчной первой буквой)

rnd0011 05.03.11 в 18:07

0

- Capitalized_Words_With_Underscores (некрасиво!)

rnd0011 05.03.11 в 18:11

0

Есть также стиль, при котором применяется короткий уникальный префикс для группировки имён.

rnd0011 05.03.11 в 18:12

0

Этот стиль очень редко используется в Python и упомянут здесь только для полноты.

rnd0011 05.03.11 в 18:13

0

К примеру, функция os.stat() возвращает именованный кортеж, атрибуты которого по традиции называются st_mode, st_size, st_mtime и так далее.

Gukoff 05.02.15 в 15:19

0

(Это сделано, чтобы подчеркнуть соответствие атрибутов системному вызову функции stat() из POSIX)

Gukoff 05.02.15 в 15:26

0

Рекомендуемые соглашения по именованию

rnd0011 07.03.11 в 19:48

0

Нежелательные имена

rnd0011 07.03.11 в 19:48

0

Никогда не используйте одиночные символы l' (строчная эль), O' (прописная буква о) или I' (прописная буква и) в качестве имени переменной.

rnd0011 07.03.11 в 19:50

0
+1

В некоторых шрифтах эти символы неотличимы от символов нуля и единицы. Вместо строчной l' используйте прописную L'.

rnd0011 07.03.11 в 19:51

0

Имена пакетов и модулей

armagetron 31.10.10 в 10:17

0

Модули должны иметь короткие имена в нижнем регистре.

armagetron 31.10.10 в 10:21

0

Знак подчёркивания применяется только в том случае, если это улучшает читаемость.

armagetron 31.10.10 в 10:21

0

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

rnd0011 05.03.11 в 17:57

0

Имена классов

svartalf 17.04.09 в 00:37

0

Почти без исключений имена классов используют стиль CapWords.

rnd0011 07.03.11 в 19:52

0

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

rnd0011 07.03.11 в 19:54

0

Имена исключений

rnd0011 05.03.11 в 17:51

0

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

rnd0011 07.03.11 в 19:53

0

Имена глобальных переменных.

armagetron 31.10.10 в 10:16

0

Имена функций

armagetron 31.10.10 в 10:16

0

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

armagetron 31.10.10 в 10:20

0

Аргументы функций и методов

svartalf 17.02.09 в 14:26

0
Минутку...

Следующая страница →