"Имя файла как exercise_1.py лучше, чем имя execise-1.py. Мы можем запустить обе программы одинаково хорошо из командной строки, но имя с дефисом ограничивает нашу способность записать большие и более сложные программы".
Почему?
Проблема в том, что при импорте файлов с дефисом-минусом (клавиша клавиатуры по умолчанию - ; U + 002D
) в их имени не работает, так как в Python представляет собой знак минус. Итак, если у вас есть собственный модуль, который вы хотите импортировать, в его имени не должно быть дефиса:
>>> import test-1
File "<stdin>", line 1
import test-1
^
SyntaxError: invalid syntax
>>> import test_1
>>>
Более крупные программы, как правило, логически разделяются на множество разных модулей, поэтому цитата
имя с дефисом ограничивает нашу способность писать более крупные и сложные программы.
Из этого же документа (стр.368, раздел 30.2 'Определение модуля'):
Обратите внимание, что имя модуля должно быть допустимым именем Python.... Имя модуля ограничено буквами, цифрами и "_".