温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python的isinstance函数怎么使用

发布时间:2023-01-14 11:51:51 来源:亿速云 阅读:138 作者:iii 栏目:编程语言

这篇“python的isinstance函数怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python的isinstance函数怎么使用”文章吧。

在python中,isinstance的意思是“类型判断”。isinstance()是一个内置函数,用于判断一个对象是否是一个已知的类型,语法“isinstance(object, type)”,如果是则返回True,否则返回False;而如果type参数是元组,而对象是元组中的类型之一,那么此函数也将返回True。

在python中,isinstance的意思是“类型判断”。

python isinstance() 函数

isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。

isinstance() 与 type() 区别:

  • type() 不会认为子类是一种父类类型,不考虑继承关系。

  • isinstance() 会认为子类是一种父类类型,考虑继承关系。

如果要判断两个类型是否相同推荐使用 isinstance()。

如果指定的对象拥有指定的类型,则 isinstance() 函数返回 True,否则返回 False。

如果 type 参数是元组,则如果对象是元组中的类型之一,那么此函数将返回 True。

语法:

isinstance(object, type)

参数描述
object必需。对象。
type类型或类,或类型和/或类的元组。

示例1:检查 "Hello" 是否是 type 参数中描述的类型之一

x = isinstance("Hello", (str, float, int, str, list, dict, tuple))
print(x)

python的isinstance函数怎么使用

示例2:检查 y 是否是 myObj 的实例

class myObj:
  name = "Bill"

y = myObj()

x = isinstance(y, myObj)

print(x)

python的isinstance函数怎么使用

扩展知识:type和isinstance的区别

python中type可以获得一个对象的数据类型,isinstance可以判断一个对象的数据类型,他们的区别有两点

1. isinstance更加灵活

type只是返回一个对象的数据类型,而isinstance可以判断这个对象的数据类型是否为某几个数据类型中的一个。

假设我们要判断一个对象的数据类型是否为int或者float,两个函数的写法示例如下

a = 4

# 使用type
if type(a) == int or type(a) == float:
    print('yes')

# 使用isinstance
if isinstance(a, (int, float)):
    print('yes')

显然,在这种场景下,isinstance更有优势

2. 判断存在继承关系的情况

class A:
    pass


class B(A):
    pass

a = A()
b = B()

print(type(b) == A)         # False
print(isinstance(b, A))     # True

B是A的子类, type(b)返回的是类B, 不等于A, 但B是A的子类,因此,我们可以认为b也是A的对象,面对这种存在继承关系的情况,应当使用isinstance。

以上就是关于“python的isinstance函数怎么使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI