ChatGPT Plus Introducción a PEP 8

Este será un artículo breve sobre PEP 8, la guía de estilo de Python.
¿Qué es PEP 8?
En pocas palabras, PEP 8 proporciona directrices y buenas prácticas sobre cómo escribir código Python.
los nombres de variables deben estar en
snake_caselos nombres de clases deben estar en
CamelCaselos nombres de funciones deben estar en
snake_caselas constantes deben estar en
UPPER_CASEla indentación debe ser de 4 espacios (sin tabs)
las variables/funciones privadas deben comenzar con un guion bajo (
_)- porque en Python no existen variables ni funciones privadas; es solo una convención
vuestro script no debería ejecutarse al ser importado
- recuerda que al importar vuestro script, el código se ejecuta; consultad el primer artículo
...
No es necesario mencionarlas todas, pero tenedlas en cuenta: os ayudarán a entender el código de otros y a que otros entiendan vuestro código ^^
También puede que hayáis oído hablar del término "pythonic". Seguir PEP 8 es una forma de escribir código Python que se considera "pythonic" (no es lo único, pero forma parte de ello).
¿Por qué PEP 8 es importante y relevante para los desarrolladores de Python en IRIS?
En IRIS, y especialmente en ObjectScript, también tenemos una guía de estilo, que se basa principalmente en camelCase para los nombres de variables y PascalCase para los nombres de clases.
Desafortunadamente, PEP 8 recomienda usar snake_case para nombres de variables y funciones.
Y como ya sabéis, en ObjectScript el guion bajo se usa para concatenar, lo cual obviamente no nos conviene.
¿Cómo superar este problema? Usad comillas dobles para llamar a nombres de variables o funciones en Python desde código ObjectScript.
Ejemplo:
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"() // Notice the double quotes around the function name
}
}
Esto llamará a la función my_function en el archivo pep8_example.py, que está definida de la siguiente manera:
# src/python/article/pep8_example.py
def my_function():
print("Hello, World!")
Cuando ejecutéis el método Run de la clase Article.PEP8Example, mostrará:
iris session iris -U IRISAPP '##class(Article.PEP8Example).Run()'
Hello, World!
¡Eso es todo!