Quais são os requisitos para nomear módulos python?

Eu tenho passadoAprenda Python da maneira mais difícil como uma espécie de reciclagem. Em vez de nomear cada exemplo ex # .py (onde # é o número do exercício), no entanto, acabei de chamá-los de # .py. Isso funcionou bem até que eu chegueiExercício 25, que requer a importação de um módulo que você acabou de criar por meio do intérprete. Quando eu tento isso, acontece o seguinte:

>>> import 25
  File "<stdin>", line 1
    import 25
            ^

SyntaxError: invalid syntax

Tentei renomear o arquivo para ex25.py e, em seguida, funcionou como esperado (>>> import ex25). O que eu quero saber é quais são os requisitos de nomenclatura para módulos python? Eu dei uma olhada na documentação oficialaqui mas não viu nenhuma menção a restrições.

Edit: Todas as três respostas de iCodez, Pavel e BrenBarn fornecem bons recursos e ajudam a responder a diferentes aspectos desta pergunta. Acabei escolhendo a resposta de iCodez como a correta, simplesmente porque era a primeira resposta.

questionAnswers(3)

yourAnswerToTheQuestion