Idiomas Pythonicos: Expresiones por línea

Esto más que un idioma pythonico es una regla del pep8, sin embargo, sirve como abrebocas y requisito indispensable para tratar los demás idiomas pythonicos que presentaremos.

El idioma es simple, en Python las expresiones deben ser escritas una por línea y cada línea debe tener código no muy complejo.

Veamos primero un ejemplo de cómo no debe hacerse:

# Non-Pythonic

print('one'); print('two')

x = 1
if x == 1: print('one')

for number in [1, 2, 3]: print(number)

if (1 + 2) > 5 and max([1, 2, 3]) == 5: print("WTF!")

En el ejemplo vemos algunos casos en los que se quiere escribir más de una expresión por línea y, en el caso del último if, se escribieron unas comparaciones que en el caso de ser muy largas pueden resultar en un código poco legible.

Veamos ahora una mejor manera de escribirlo:

# Pythonic

print('one')
print('two')

x = 1
if x == 1: 
    print('one')

for number in [1, 2, 3]:
    print(number)

condition1 = (1 + 2) > 5
condition2 = max([1, 2, 3]) == 5

if condition1 and condition2:
    print("WTF!")

Como podemos ver en este ejemplo se ve cada expresión en una línea y para el if resulta mucho más claro almacenar las condiciones a evaluar en variables y luego realizar la operación booleana con las variables.

Si deseas saber más sobre idiomas pythonicos ve a este este enlace.
Si hay algún error o deseas hacer alguna sugerencia por favor publícalo en los comentarios.

Posts relacionados