[問題] 請問{}和ditc()以及literal

作者: jijuan   2020-02-13 13:09:25
我使用PyCharm這個IDE
當這樣寫時
my_dict = {}
my_dict['a'] = 0
底下會出現一段波浪的線點進去看IDE會有警告
This dictionary creation could be rewritten as a dictionary literal
意思應該是說這個字典可能會被覆寫?
可是當改用
my_dict = dict()
my_dict['a'] = 0
就不會跳出警告了
但兩者執行起來都沒有問題
請問這兩者有什麼差別嗎
為什麼PyCharm對待兩者不同
另外literal可以理解成parser認識的東西嗎
比方說看到{'a':0}就會知道是字典
看到5.5就知道是float這樣
作者: poototo (poototo)   2020-02-13 13:33:00
Settings -> Inspections -> Python > Dictionary creati可以關掉
作者: TuCH (謬客)   2020-02-13 13:45:00
a = {} ,b = {} , a['test'] = 'test' ,b.get('test') ???
作者: cuteSquirrel (松鼠)   2020-02-13 14:00:00
第一種{}比較像是已知key-value的分佈情況。PyCharm建議在宣告時一併給予key-value賦值。第二種dict()則是先宣告一個字典。key-value的內容由後續的動態輸入決定
作者: cancelpc (阿吉)   2020-02-13 18:46:00
同上,類似一個是靜態配置,一個是動態
作者: Ryspon (Ry)   2020-02-15 18:09:00
literal 是一個統稱 fixed-value 的名詞my_dict = {}, “{}” 叫做一個 dictionary literala = 5.5, “5.5” 是一個 float literal
作者: ah7675 (阿毛)   2020-02-16 13:10:00
不是可以被複寫....他是說你可以用更好的寫法
作者: poototo (poototo)   2020-02-16 19:35:00
could be....就是建議可以重寫成更直白的方式原本的連續兩行做的事,一行就可以
作者: lycantrope (阿寬)   2020-02-21 20:52:00
被pycharm嫌菜QQ

Links booklink

Contact Us: admin [ a t ] ucptt.com