Могут ли имена модулей в Python заканчиваться подчеркиванием? - PullRequest
0 голосов
/ 13 июля 2020

Ниже вы можете найти пример проблемы, с которой я столкнулся:

проект :

  • пакет:
    • xml.py

xml .py :

import xml.etree.ElementTree as Et

Мой модуль с именем xml .py путается с пакетом xml, когда я его импортирую, теперь мой вопрос:

Могу ли я назовите мой модуль таким образом, чтобы он не мешал имени пакета, но в то же время он соответствовал бы руководству по стилю PEP8 (например: xml_.py. Я видел это соглашение об именах для переменных, но не уверен рекомендуется называть модули таким образом).

Ответы [ 2 ]

1 голос
/ 13 июля 2020

В руководстве PEP-8 по именам модулей указано:

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

Более того, в другом руководстве PEP-8 указано:

single_trailing_underscore_: используется по соглашению, чтобы избежать конфликтов с ключевым словом Python, например:

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

0 голосов
/ 13 июля 2020

модули (имена файлов) должны иметь короткие имена в нижнем регистре и могут содержать символы подчеркивания;

документация Pep8, так что да, вы можете:)

...