班级type
与特定类型之间的关系是什么?
我认为特定类型是type
的子类,但是:
>>> type
<class 'type'>
>>> import builtins
>>> builtins.issubclass(type, object)
True
>>> builtins.issubclass(int, type)
False
感谢。
答案 0 :(得分:4)
我认为特定类型是
类型的子类
他们不是。每个类都是elif board[row-1][col-1+x] == "S":
return False
的实例; type
充当类的类。 type
会在isinstance(class, type)
正确返回True
时返回issubclass
。
False
返回issubclass
的情况是使用实际从True
继承的自定义元类(类类)。例如,取type
:
EnumMeta
这是>>> from enum import EnumMeta
>>> issubclass(EnumMeta, type)
,因为True
有EnumMeta
作为基类(继承自它):
type
如果你查看它的来源,你会发现它被定义为>>> EnumMeta.__bases__
(type,)
。
class EnumMeta(type): ...
为所有内容返回issubclass(type, object)
因为Python中的每一件事都是一个对象(意味着所有内容都继承自True
)。