Python中类似Lua的dict
在Lua中,您可以寻址字典类属性的键:Python中类似Lua的dict,python,dictionary,Python,Dictionary,在Lua中,您可以寻址字典类属性的键: d = {a = 1, b = 1} d['a'] == d.a -- this returns true Python中有类似的东西吗?我注意到sklearn bunch对象具有类似的属性。不,使用键访问dict的唯一有效方法是d['a']或d.get('a') 如果该键不在dict中,前者可能会引发KeyError,而后者则接受第二个可选参数,如果找不到该键,它将返回该参数。否,使用键访问dict的唯一有效方法是d['a']或d.get('a') 如
d = {a = 1, b = 1}
d['a'] == d.a -- this returns true
Python中有类似的东西吗?我注意到sklearn bunch对象具有类似的属性。不,使用键访问
dict
的唯一有效方法是d['a']
或d.get('a')
如果该键不在
dict
中,前者可能会引发KeyError
,而后者则接受第二个可选参数,如果找不到该键,它将返回该参数。否,使用键访问dict
的唯一有效方法是d['a']
或d.get('a')
如果该键不在
dict
中,前者可能会引发一个KeyError
,而后者则接受第二个可选参数,如果找不到该键,它将返回该参数。您可以创建一个类,并使用setattr以这种方式访问属性,尽管为了方便起见,这似乎有点过分。您也可以对任何旧对象执行此操作,但我不建议您这样做。您可以创建一个类并使用setattr以这种方式访问属性,尽管为了方便起见,这似乎有些过分。您也可以使用任何旧对象,但我不推荐使用它。我想,Lua使用d.a
语法糖d['a']
的原因之一是Lua以其独特的OOP风格使用t:func()
。Python的情况并非如此。我想,Lua使用d.a
语法糖d['a']
的原因之一是Lua以其独特的OOP风格使用t:func()
。Python的情况并非如此。