Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python “type.\uu instancecheck”是否实现了“isinstance”的默认行为?_Python_Python 3.x - Fatal编程技术网

Python “type.\uu instancecheck”是否实现了“isinstance”的默认行为?

Python “type.\uu instancecheck”是否实现了“isinstance”的默认行为?,python,python-3.x,Python,Python 3.x,说下面的话: […]如果已定义,则调用以实现isinstance(实例、类) 措辞表明,是否定义了\uuuu instancecheck\uuuu会产生不同。也就是说,如果基本实现(type.\uu instancecheck.\uuu)提供默认行为,则不会说“覆盖实现isinstance” 更具体地说,我想知道下面的元类是否会导致类似的行为,就像我省略了\uu instancecheck\uu的定义一样: 类元(类型): 定义实例检查(自身,实例): 返回super()。_实例检查(实例) 类

说下面的话:

[…]如果已定义,则调用以实现
isinstance(实例、类)

措辞表明,是否定义了
\uuuu instancecheck\uuuu
会产生不同。也就是说,如果基本实现(
type.\uu instancecheck.\uuu
)提供默认行为,则不会说“覆盖实现
isinstance

更具体地说,我想知道下面的元类是否会导致类似的行为,就像我省略了
\uu instancecheck\uu
的定义一样:

类元(类型):
定义实例检查(自身,实例):
返回super()。_实例检查(实例)
类测试(元类=元):
通过
isinstance(,测试)

我的直觉是肯定的,但文档的措辞让我担心,
isinstance
会根据是否定义了
\uu instancecheck\uuu
而采取不同的路径。最后,我想知道我是否可以回到
super()。\uuuu instancecheck\uuuu(instance)
在我自己的
\uuu instancecheck\uuuuuu
实现中,以获得默认行为。

isinstance
在定义了
\uu instancecheck\uuuu
的情况下没有任何不同。此外,在
super()。\uuuu instancecheck\uuuu(实例)
上“后退”是不必要的。根据“任何对象
x
始终被视为
type(x)
,这是无法推翻的。”

你有任何证据支持这一说法吗?文档中说“如果已定义,[…]”,这表明存在某种基于定义的
\uu instancecheck\uu
的分支。我也不明白为什么
super()。\uuuu instancecheck\uuuu(实例)
是不必要的。如果我在
\uuu instancecheck\uuu
中实现我自己的逻辑,然后在某些情况下我想要默认行为,这正是我计划使用的。