Python 阶级之间的关系是什么;“类型”;及;对象";?
类Python 阶级之间的关系是什么;“类型”;及;对象";?,python,python-3.x,Python,Python 3.x,类type是自身的实例,即type是自身的元类。我们如何定义一个类 哪一个是自己的例子 >>> type(type) <class 'type'> 对象和类型如何成为彼此的实例,即它们如何成为彼此的元类 >>> type(object) <class 'type'> >>> builtins.isinstance(type, object) True >>> builtins.isinstance
type
是自身的实例,即type
是自身的元类。我们如何定义一个类
哪一个是自己的例子
>>> type(type)
<class 'type'>
对象
和类型
如何成为彼此的实例,即它们如何成为彼此的元类
>>> type(object)
<class 'type'>
>>> builtins.isinstance(type, object)
True
>>> builtins.isinstance(object, type)
True
我能找到的关于感知模糊性的最佳解释是:无论你把什么作为第一个输入,如果“object”或“type”是iInstance的第二个输入,它都会返回true。一切都是对象和类型,包括对象和类型。对象是Python的基础对象,因此每个新样式类(Python 2中的旧样式类是例外)都是对象的子类,包括类型。由于object是基类型,所以它是nothing的子类,因此最后一个False;并非所有的东西都是类型:
isinstance(4,type)
返回False
。然而,一切都是一个对象
,这是事实。因此isinstance(x,object)
返回True
,无论x
是什么。这意味着每个类型都是object
的子类,因此issubclass(type(x),object)
对于所有x
而言都是True
<代码>类型是所有对象的“最终”类型。也就是说,isinstance(type(x),type)
对于所有x
,都是True
。请注意,issubclass(object,type)
是false,没有特别的原因,但是如果它是true,它将在\uuumro\uuuu
@a\u guest:(1)“isinstance(x,object)
返回true,无论x
是什么。这意味着每个类型都是对象的子类。”。我认为这意味着每种类型都是对象
的实例,而不是对象
的子类,即对象
是每种类型的元类,对吗?(2) 为什么“isinstance(4,type)
返回False”4
是int
的实例,而int
是类型的实例,因此4
应该是类型的实例,对吗?(3) builtins.isinstance(type,object)
和builtins.isinstance(object,type)
都是真的会在某个地方引入循环吗?
>>> type(object)
<class 'type'>
>>> builtins.isinstance(type, object)
True
>>> builtins.isinstance(object, type)
True
>>> builtins.issubclass(type, object)
True
>>> builtins.issubclass(object, type)
False