Introdução ao PEP 8

Este será um breve artigo sobre a PEP 8, o guia de estilo do Python.
O que é a PEP 8?
Em poucas palavras, a PEP 8 fornece diretrizes e boas práticas sobre como escrever código Python.
- Nomes de variáveis devem ser em
snake_case - Nomes de classes devem ser em
CamelCase - Nomes de funções devem ser em
snake_case - Constantes devem ser em
UPPER_CASE - A indentação deve ser de 4 espaços (no tabs)
- Variáveis/funções privadas devem começar com um sublinhado (
_)- Isso porque no Python variáveis e funções privadas não existem de fato, é apenas uma convenção.
- Seu script não deve ser executado quando importado.
- Lembre-se que, ao importar um script, o código é executado. Veja o primeiro artigo
- ...
Não é necessário memorizá-las todas, mas tenha em mente que isso o ajudará a entender o código de outras pessoas e a ajudar outras pessoas a entender o seu código ^^.
Além disso, você pode ter ouvido falar da palavra pythonic. Seguir a PEP 8 é uma maneira de escrever código Python que é considerado "pythonic" (não é apenas isso, mas faz parte).
Por que a PEP 8 é importante e relevante para os desenvolvedores Python IRIS?
No IRIS, e especialmente em ObjectScript, também temos um guia de estilo, que é baseado principalmente em camelCase para nomes de variáveis e PascalCase para nomes de classes. Infelizmente, a PEP 8 recomenda o uso de snake_case para nomes de variáveis e funções.
E você já sabe, em ObjectScript o sublinhado (_) é usado para concatenação e, obviamente, isso não nos convém.
Como superar esse problema? Use aspas duplas para chamar nomes de variáveis/funções em Python no código ObjectScript.
Exemplo:
Class Article.PEP8Example Extends %RegisteredObject
{
ClassMethod Run()
{
Set sys = ##class(%SYS.Python).Import("sys")
do sys.path.append("/irisdev/app/src/python/article")
set pep8Example = ##class(%SYS.Python).Import("pep8_example")
do pep8Example."my_function"() // Note as aspas duplas ao redor do nome da função
}
}
Esta instrução chamará a função my_function no arquivo pep8_example.py que é definida da seguinte forma:
# src/python/article/pep8_example.py
def my_function():
print("Olá, Mundo")
Quando você executar o método Run da classe Article.PEP8Example a saída será:
iris session iris -U IRISAPP '##class(Article.PEP8Example).Run()'
Olá, Mundo!
É isso