Oi Felipe, boa tarde, seguindo a própria documentação do python é possível encontrar o seguinte (https://www.python.org/dev/peps/pep-0263/):
Defining the Encoding
Python will default to ASCII as standard encoding if no other
encoding hints are given.
To define a source code encoding, a magic comment must
be placed into the source files either as first or second
line in the file, such as:
# coding=<encoding name>
or (using formats recognized by popular editors)
#!/usr/bin/python
# -*- coding: <encoding name> -*-
or
#!/usr/bin/python
# vim: set fileencoding=<encoding name> :
More precisely, the first or second line must match the regular
expression "^[ \t\v]#.?coding[:=][ \t]*([-_.a-zA-Z0-9]+)".
The first group of this
expression is then interpreted as encoding name. If the encoding
is unknown to Python, an error is raised during compilation. There
must not be any Python statement on the line that contains the
encoding declaration. If the first line matches the second line
is ignored.
Tradução minha:
Definindo o Encoding
Python usará o padrão para a codificação ASCII se nenhuma outra for fornecida.
Para definir um código-fonte de codificação um comentário mágico deve ser identificado/colocado nos arquivos fontes ou como primeira ou como segunda linha no arquivo, tais como:
# coding=<encoding name>
ou usando formatos reconhecidos por editores populares
#!/usr/bin/python
# -*- coding: <encoding name> -*-
ou
#!/usr/bin/python
# vim: set fileencoding=<encoding name> :
Para definir uma codificação de código-fonte, um comentário mágico deve
ser colocados nos arquivos de origem , quer como primeiro ou segundo
linha no arquivo , tais como:
# Codificação = < nome de codificação >
ou (usando formatos reconhecidos pelos editores populares )
# ! / Usr / bin / python
# - * - Coding : <encoding name> - * -
ou
# ! / Usr / bin / python
# Vim: definir fileEncoding = <encoding name> :
Mais precisamente , a primeira ou a segunda linha precisam corresponder a expressão regular
" . ^ [ \ T \ v] # codificação? [: =] [ \ T ] * ( [ -_ a-zA- Z0-9 . ] + ) "
O primeiro grupo dessa expressão é interpretado como nome da codificação. Se a codificação
for desconhecida pelo Python, um erro é gerado durante a compilação (tente usar algo estranho aí.. :)
Lá na linha onde a declaração da codificação é definida não deve haver qualquer declaração Python
declaração de codificação . Se a primeira linha corresponde à segunda esta é ignorada .