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

看板Python作者時間4年前 (2020/02/13 13:09), 編輯推噓7(708)
留言15則, 7人參與, 4年前最新討論串1/1
我使用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

02/13 13:33, 4年前 , 1F
Settings -> Inspections -> Python > Dictionary creati
02/13 13:33, 1F

02/13 13:34, 4年前 , 2F
可以關掉
02/13 13:34, 2F

02/13 13:45, 4年前 , 3F
a = {} ,b = {} , a['test'] = 'test' ,b.get('test') ???
02/13 13:45, 3F

02/13 14:00, 4年前 , 4F
第一種{}比較像是已知key-value的分佈情況。
02/13 14:00, 4F

02/13 14:01, 4年前 , 5F
PyCharm建議在宣告時一併給予key-value賦值。
02/13 14:01, 5F

02/13 14:01, 4年前 , 6F
第二種dict()則是先宣告一個字典。
02/13 14:01, 6F

02/13 14:01, 4年前 , 7F
key-value的內容由後續的動態輸入決定
02/13 14:01, 7F

02/13 18:46, 4年前 , 8F
同上,類似一個是靜態配置,一個是動態
02/13 18:46, 8F

02/15 18:09, 4年前 , 9F
literal 是一個統稱 fixed-value 的名詞
02/15 18:09, 9F

02/15 18:10, 4年前 , 10F
my_dict = {}, “{}” 叫做一個 dictionary literal
02/15 18:10, 10F

02/15 18:12, 4年前 , 11F
a = 5.5, “5.5” 是一個 float literal
02/15 18:12, 11F

02/16 13:10, 4年前 , 12F
不是可以被複寫....他是說你可以用更好的寫法
02/16 13:10, 12F

02/16 19:35, 4年前 , 13F
could be....就是建議可以重寫成更直白的方式
02/16 19:35, 13F

02/16 19:37, 4年前 , 14F
原本的連續兩行做的事,一行就可以
02/16 19:37, 14F

02/21 20:52, 4年前 , 15F
被pycharm嫌菜QQ
02/21 20:52, 15F
文章代碼(AID): #1UHDe7ay (Python)