看板 Python 關於我們 聯絡資訊
我使用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這樣 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.230.254.46 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1581570567.A.93C.html
poototo: Settings -> Inspections -> Python > Dictionary creati 02/13 13:33
poototo: 可以關掉 02/13 13:34
TuCH: a = {} ,b = {} , a['test'] = 'test' ,b.get('test') ??? 02/13 13:45
cuteSquirrel: 第一種{}比較像是已知key-value的分佈情況。 02/13 14:00
cuteSquirrel: PyCharm建議在宣告時一併給予key-value賦值。 02/13 14:01
cuteSquirrel: 第二種dict()則是先宣告一個字典。 02/13 14:01
cuteSquirrel: key-value的內容由後續的動態輸入決定 02/13 14:01
cancelpc: 同上,類似一個是靜態配置,一個是動態 02/13 18:46
Ryspon: literal 是一個統稱 fixed-value 的名詞 02/15 18:09
Ryspon: my_dict = {}, “{}” 叫做一個 dictionary literal 02/15 18:10
Ryspon: a = 5.5, “5.5” 是一個 float literal 02/15 18:12
ah7675: 不是可以被複寫....他是說你可以用更好的寫法 02/16 13:10
poototo: could be....就是建議可以重寫成更直白的方式 02/16 19:35
poototo: 原本的連續兩行做的事,一行就可以 02/16 19:37
lycantrope: 被pycharm嫌菜QQ 02/21 20:52