En Perl, a menudo es bueno poder asignar un objeto, pero especifique algún valor de recuperación si la variable que se asigna es 'undef'. Por ejemplo:¿Cuál es la forma más pitonica de proporcionar un valor de retroceso en una tarea?
my $x = undef;
my $y = 2;
my $a = $x || $y;
Después de esto,
$a == 2
¿Hay una manera concisa para lograr esto en Python si el valor de x es Ninguno, o haría un completo en ...
if x is not None
a = x
else
a = y
... ¿ser la forma más pitonica de lograr esto?
EDIT: Disculpas, como han señalado varios comentaristas, realmente no estaba hablando de que el valor sea indefinido, sino "indefinido" en Perl, que no es realmente lo mismo. Pero la pregunta tal como estaba redactada originalmente no lo dejó en claro.
Tenga en cuenta que "si la variable asignada desde está indefinida" es INCORRECTA. "si la variable que se le asigna es falsa" está mucho más cerca de la verdad. – innaM
Para seguir el comentario de Manni: es mejor usar el operador definido "u" si puede confiar en Perl 5.10 o posterior. (Esto no tiene ninguna relación con la forma en que lo haría en Python.) –