Quando si inizializza un dizionario con la d = {}
finestra di ispezione del codice di Pycharm, viene generato un avviso
Questa creazione del dizionario potrebbe essere riscritta come un dizionario letterale.
Se lo riscrivo d = dict()
l'avviso scompare. Dato che è{}
già un dizionario letterale, sono abbastanza sicuro che il messaggio sia errato. Inoltre, sembrano entrambi e sono validi e Pythonic.d = {}
d = dict()
Questa domanda correlata sembra concludere che la scelta è solo una questione di stile / preferenza: differenze tra "d = dict ()" e "d = {}"
Perché Pycharm si lamenterebbe d = {}
?
AGGIORNARE:
Mac l'ha inchiodato. L'avvertimento si applicava effettivamente a più righe, non solo a quella contrassegnata.
Pycharm sembra cercare una sequenza di istruzioni consecutive in cui si inizializza un dizionario e quindi si impostano i valori nel dizionario. Ad esempio, questo attiverà l'avvertimento:
d = {}
d['a'] = 1
Ma questo codice non:
d = {}
pass
d['a'] = 1
something
dell'attributo nel letterale dict invece di assegnarlo alla riga successiva.