python isinstance()函数应用

isinstance() 函数是用来检测一个对象是否是指定类或类的一个实例,或者是否是一个包含在指定类元组中的任意一个类的实例。这个函数非常有用,特别是在处理面向对象编程时,当你需要验证变量的类型或确保传递给函数的参数符合特定类型要求时。

函数原型:

isinstance(object, classinfo)

  • object: 待检查的对象
  • classinfo: 可以是一个类或者包含多个类的元组,用于与对象的类型进行比较
  • 返回值: 如果对象的类型与参数二中的类匹配或者是其子类,则返回 True 否则,返回 False

应用1:检查基本类型

Bool = False
print(isinstance(Bool, bool))  # True

text = "Hello World"
print(isinstance(text, str))   # True

应用2:使用类和继承

假设我们有一个基类 people和一个从 people派生的子类 Man:

class people:
    pass

class Man(people):
    pass

xiaoming = Man()
print(isinstance(xiaoming, people))      # True
print(isinstance(xiaoming, Man))         # True
print(isinstance(xiaoming, object))      # True

此例子中,xiaoming 既是 Man的实例,也是 Man的基类 people的实例。

应用3:检查是否属于多个类型之一

可以使用元组来检查对象是否是多个类型中的一个:

my_list = [1, 2, 3]
print(isinstance(my_list, (list, tuple)))  # True

my_tuple = (1, 2, 3)
print(isinstance(my_tuple, (list, tuple)))  # True

在这个例子中,isinstance 检查 my_list 是否是 list 或 tuple 类型的实例。

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江凡心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值