proposal how español enhancement docstrings python coding-style variable-assignment

how - python docstring



Asignación con "o" en python (3)

El peligro principal de hacer algo como esto es la posibilidad de que (en el segundo caso) some_variable sea ​​False pero no None (el entero 0 , por ejemplo) y no quiera terminar con y igual a None en ese caso.

¿Se considera un estilo malo para asignar valores a variables como esta?

x = "foobar" or None y = some_variable or None

En el ejemplo anterior, x obtiene el valor ''foobar''.


No, es una práctica común. Solo se considera mal estilo para expresiones que son considerablemente más largas que las tuyas.


También me siento un poco incómodo con ese tipo de expresiones. En Learning Python 4ed se llama "comportamiento algo inusual". Más tarde, Mark Lutz dice:

... resulta ser un paradigma de codificación bastante común en Python: para seleccionar un objeto no vacío de entre un conjunto de tamaño fijo, simplemente unirlos en una expresión o. En una forma más simple, esto también se usa comúnmente para designar un valor predeterminado ...

De hecho, producen expresiones concisas de una línea que ayudan a eliminar el ruido de línea del código.
Este comportamiento es la base de una forma del operador ternario if / else:

A = Y if X else Z