Python 常用内置函数详解(一):isinstance()函数----判断对象是否是类或子类
isinstance()
函数是 Python 内置的一个函数,用于判断一个对象是否是一个已知的类型。换句话说,它可以用来检查一个变量是否属于某个类或其子类。
isinstance(object, classinfo)
class Animal:
pass
class Dog(Animal):
pass
dog = Dog()
print(isinstance(dog, Animal)) # True: 狗是动物
print(isinstance(dog, Dog)) # True: 狗是狗
print(isinstance(dog, str)) # False: 狗不是字符串
isinstance()
也会返回 True。
class A:
pass
class B(A):
pass
a = A()
b = B()
print(type(b)) # <class '__main__.B'>
print(isinstance(b, A)) # True: B 是 A 的子类
isinstance()
检查参数的类型,确保输入数据的正确性。isinstance()
可以用来判断对象的类型,从而实现多态。
def greet(person):
if isinstance(person, str):
print("Hello, " + person + "!")
elif isinstance(person, dict):
print("Hello, " + person['name'] + "!")
else:
print("Hello!")
isinstance()
函数是 Python 中非常常用的一个函数,它可以帮助我们进行类型检查,确保代码的健壮性。在面向对象编程中,isinstance()
函数也起着重要的作用。
需要注意的是:
isinstance()
函数在检查类型时,会考虑继承关系。type()
函数只返回对象的类型,不考虑继承关系。isinstance()
函数可以提高代码的可读性和可维护性。希望这个解释对您有所帮助!
您还有其他关于 isinstance()
函数的问题吗?