Podczas inicjowania słownika za d = {}
pomocą kodu Pycharm inspektor generuje ostrzeżenie, mówiąc:
To tworzenie słownika można przepisać jako dosłowne.
Jeśli go przepiszę, d = dict()
ostrzeżenie zniknie. Skoro {}
już jest słownikiem dosłowny, jestem całkiem pewny, że komunikat jest błędny. Ponadto wydaje się, że zarówno d = {}
i d = dict()
są ważne i pythonowy.
To pokrewne pytanie wydaje się stwierdzać, że wybór jest tylko kwestią stylu / preferencji: różnic między „d = dict ()” a „d = {}”
Dlaczego Pycharm miałby narzekać d = {}
?
AKTUALIZACJA:
Mac go przybił. Ostrzeżenie faktycznie dotyczyło wielu wierszy, a nie tylko tego, który został oflagowany.
Wygląda na to, że Pycharm szuka sekwencji kolejnych instrukcji, w których inicjujesz słownik, a następnie ustawiasz wartości w słowniku. Na przykład spowoduje to wyświetlenie ostrzeżenia:
d = {}
d['a'] = 1
Ale ten kod nie będzie:
d = {}
pass
d['a'] = 1
something
atrybutu bezpośrednio do literału słownika, zamiast przypisywać go w następnej linii.