In Perl, è spesso piacevole poter assegnare un oggetto, ma specificare un valore di fallback se la variabile assegnata da è 'undef'. Per esempio:Qual è il modo più Pythonic per fornire un valore di fallback in un compito?
my $x = undef;
my $y = 2;
my $a = $x || $y;
Dopo questo,
$a == 2
C'è un modo conciso per raggiungere questo obiettivo in Python se il valore x è Nessuno, o semplicemente di una full-on ...
if x is not None
a = x
else
a = y
... essere il modo più Pythonic per raggiungere questo obiettivo?
EDIT: Mi scuso, come è stato sottolineato da diversi commentatori, non stavo parlando del valore non definito, ma 'undef' in Perl, che non è proprio la stessa cosa. Ma la domanda come originariamente formulata non lo chiariva.
Si prega di tenere presente che "se la variabile che viene assegnata da è indefinita" è SBAGLIATA. "se la variabile assegnata da è falsa" è molto più vicina alla verità. – innaM
Per seguire il commento di Manni: è meglio usare l'operatore definito o "//" se si può fare affidamento su Perl 5.10 o successivo. (Non che questo abbia qualche influenza su come lo faresti in Python.) –