2010-04-29 4 views
35

От Building Skills in Python:Почему имя файла подчеркивает лучше, чем дефис?

«Имя файла, как exercise_1.py лучше, чем имя execise-1.py Мы можем запустить обе программы одинаково хорошо из командной строки, но имя с дефисом ограничивает нашу способность. пиши большие и более сложные программы ».

Почему?

+1

Incidently, автор этого конкретного документа является одним из топ-рейтинг Python на отвечающие этом сайте: http://stackoverflow.com/users/10661/s-lott –

ответ

47

Проблема в том, что импорт файлов с тире в их имени не работает, поскольку тире минус-знаки в python. Так что, если у Вас был свой собственный модуль, который вы хотели импортировать, он не мог иметь тире в названии:

>>> import test-1 
    File "<stdin>", line 1 
    import test-1 
      ^
SyntaxError: invalid syntax 
>>> import test_1 
>>> 

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

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

10

С этого документа (P.368, раздел 30,2 «Модуль определения»):

Обратите внимание, что имя модуля должно быть действительным именем Python ... Имя A модуля ограничивается буквами , цифры и "_".

+14

... что примерно триста страниц вдали от текста, говорящего о том, чтобы не использовать дефисы. –

Смежные вопросы