在Python中,instance()
函数实际上是一个内置函数,用于检查对象是否为指定类的实例。这个函数已经在Python 3中被移除,取而代之的是 isinstance()
函数。但是,你不能直接自定义 isinstance()
函数,因为它是Python的内置函数。
然而,你可以通过编写自己的类并重写 __instancecheck__()
方法来实现类似的功能。这个方法会在使用 isinstance()
函数时被调用。下面是一个简单的例子:
class MyClass:
def __instancecheck__(self, instance):
# 在这里添加你的自定义逻辑
return isinstance(instance, (int, float))
# 创建一个MyClass的实例
my_instance = MyClass()
# 检查一个对象是否为MyClass的实例
print(isinstance(123, my_instance)) # 输出 True
print(isinstance("hello", my_instance)) # 输出 False
在这个例子中,我们创建了一个名为 MyClass
的类,并重写了 __instancecheck__()
方法。当我们使用 isinstance()
函数检查一个对象是否为 MyClass
的实例时,它会调用我们自定义的 __instancecheck__()
方法。在这个方法中,我们简单地检查对象是否为 int
或 float
类型。