[问题] 请问{}和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