Python类包含名称空间,函数^{
object
命名空间包含多个函数,例如函数__subclasses__
,当调用该函数时,返回一个列表,其中包含作为object
子类的所有已知类。
dir(object)
的输出是:
['__class__', '__delattr__', '__doc__', '__format__', '__getattribute__',
'__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__',
'__setattr__', '__sizeof__', '__str__', '__subclasshook__']
函数__subclasses__
未列出,但它在那里,请尝试:object.__subclasses__()
。
我知道类可以更改__dir__
字典来定制dir
显示的内容,但这不是object
的情况,事实上object.__dir__
引发了异常。
不过,当我使用IPython自动完成时,__subclasses__
函数就在那里。我如何获得IPython使用的相同元素列表,以便我知道还有__subclasses__
存在?
IPython通过非常普通的方法,通过查看} for types 具体地不看
type(object)
,找到__subclasses__
。另一方面,由于object
是一种类型,因此^{type(object)
。不管是谁写的dir
决定在列表中看到元类属性都会令人困惑。相关问题 更多 >
编程相关推荐