Quando crei una variabile foo
, Python ti permette di scrivere solo foo = bar
. Tuttavia, molte lingue, come C # o JavaScript, richiedono una sintassi aggiuntiva come var foo = bar
o foo := bar
per segnalare la stessa cosa.
C'è un motivo per cui C # / JS richiede una differenziazione esplicita di una dichiarazione dall'assegnazione?
Posso immaginare che un parser, dopo aver letto foo = bar
, debba decidere se =
significa dichiarazione o assegnazione. Ma è facile: basta controllare se foo
è stato dichiarato in precedenza. Mi sto perdendo qualcosa qui?