【发布时间】:2021-08-26 14:05:25
【问题描述】:
CPython 无法识别以下参数:
type.__subclasscheck__(object)
# gives us: TypeError: __subclasscheck__() takes exactly one argument (0 given)
type.__subclasscheck__(object, object) # works fine
# give us: True
为什么会这样?
PS:在 Debian 10 上使用 Python3
【问题讨论】:
-
建议重复与我的问题没有直接关系!
-
我真的不明白这个问题。 __subclasscheck 通常用于检查一个对象与另一个对象。用 ine 参数调用它真的没有意义。这也是“TypeError: __subclasscheck__() 只接受一个参数(给定 0)”告诉你的。
-
“__subclasscheck__() 只接受一个参数(给定 0)”。这没有意义,因为我通过了一个论点。我现在在想......成为一个元类。 (想要表示父对象),该方法的工作方式可能与其他方法不同。无论如何,口译员的反应方式不正确。
-
它和其他方法一样工作。
type.__subclasscheck__是一个未绑定的方法,因此您需要在实例上调用它,例如:object.__classcheck__(...)或显式传递self:type.__subclasscheck__(object, ...)。 -
如果我这样做
object.__subclasscheck__(type)cython 编译正常
标签: python virtual-machine cpython