dict_views
有什么不同,我不能只是将其分配或打印为类型?
所以,这有效:
print(type({1:1}.keys())
<class dict_keys>
那不是:
print(dict_keys)
>NameError: name 'dict_keys' is not defined
有些人认为,我希望dict_keys
成为一个变量,我已经在标题中说过,我正在尝试访问type dict_views
而不是变量{{1} }
答案 0 :(得分:2)
当你尝试
时>>> print(dict_keys)
尝试对dict_keys
变量进行变量查找。没有dict_keys
变量。查找失败。
您在
中看到的名称>>> type({}.keys())
<class 'dict_keys'>
与变量查找无关。这是班级的__name__
属性。 __name__
可以是班级作家想要的任何东西。对于int
或collections.OrderedDict
等类,__name__
通常设置为与班级可用的变量名称相匹配,但这不是必需的,并且&#39} ;并不要求该类可以通过任何变量获得。