📜  isinstance 几个变量 (1)

📅  最后修改于: 2023-12-03 14:42:10.919000             🧑  作者: Mango

Python中的isinstance

在Python中,isinstance是一个非常有用的内置函数。它可以用于检查一个对象是否属于指定的类或类型的子类。isinstance函数接受两个参数:要检查的对象和一个类型或类对象。如果对象是所给类型或类的实例,则返回True,否则返回False。

用法示例:
# 检查字符串是否为str类型
text = "Hello, world!"
if isinstance(text, str):
    print("text is a string")

# 检查数字是否为int或float类型
num = 3.14
if isinstance(num, (int, float)):
    print("num is a number")
    
# 检查对象是否为自定义类型
class Dog:
    def bark(self):
        print("Woof!")

class Cat:
    def meow(self):
        print("Meow!")

dog = Dog()
cat = Cat()

if isinstance(dog, Dog):
    print("dog is a dog")

if isinstance(cat, Dog):
    print("cat is a dog")
else:
    print("cat is not a dog")
返回值

如果第一个参数是第二个参数的实例或者是它的子类,则返回True。否则返回False

注意事项
  • 第二个参数可以是类型、元组或其他可迭代对象。
  • 使用isinstance函数时,建议将检查顺序从子类到父类。因为如果子类和父类都可以匹配,isinstance将返回子类。
  • isinstance可以用来判断一个变量是否为类名,但不可以用来判断是否为类的实例。
  • 可以使用type来判断变量的类型,但它不会关心对象是否是指定类型的子类。
参考资料