作者jijuan ()
看板Python
標題[問題] 請問{}和ditc()以及literal
時間Thu Feb 13 13:09:25 2020
我使用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://webptt.com/m.aspx?n=bbs/Python/M.1581570567.A.93C.html
1F:推 poototo: Settings -> Inspections -> Python > Dictionary creati 02/13 13:33
2F:→ poototo: 可以關掉 02/13 13:34
3F:推 TuCH: a = {} ,b = {} , a['test'] = 'test' ,b.get('test') ??? 02/13 13:45
4F:推 cuteSquirrel: 第一種{}比較像是已知key-value的分佈情況。 02/13 14:00
5F:→ cuteSquirrel: PyCharm建議在宣告時一併給予key-value賦值。 02/13 14:01
6F:→ cuteSquirrel: 第二種dict()則是先宣告一個字典。 02/13 14:01
7F:→ cuteSquirrel: key-value的內容由後續的動態輸入決定 02/13 14:01
8F:→ cancelpc: 同上,類似一個是靜態配置,一個是動態 02/13 18:46
9F:推 Ryspon: literal 是一個統稱 fixed-value 的名詞 02/15 18:09
10F:→ Ryspon: my_dict = {}, “{}” 叫做一個 dictionary literal 02/15 18:10
11F:推 Ryspon: a = 5.5, “5.5” 是一個 float literal 02/15 18:12
12F:→ ah7675: 不是可以被複寫....他是說你可以用更好的寫法 02/16 13:10
13F:推 poototo: could be....就是建議可以重寫成更直白的方式 02/16 19:35
14F:→ poototo: 原本的連續兩行做的事,一行就可以 02/16 19:37
15F:推 lycantrope: 被pycharm嫌菜QQ 02/21 20:52