糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > python中isinstance()函数用法详解

python中isinstance()函数用法详解

时间:2021-03-20 17:42:03

相关推荐

python中isinstance()函数用法详解

isinstance()用来判断一个对象是否是一个已知的类型,isinstance()函数的语法如下:

isinstance(object,classtype)

object -- 实例对象。classtype-- 可以是直接或间接类名、基本类型或者由它们组成的元组。

def isinstance(x, A_tuple): # real signature unknown; restored from __doc__"""Return whether an object is an instance of a class or of a subclass thereof.A tuple, as in ``isinstance(x, (A, B, ...))``, may be given as the target tocheck against. This is equivalent to ``isinstance(x, A) or isinstance(x, B)or ...`` etc."""pass

isinstance()函数的返回值是布尔型,若object的类型是classtype,那么就返回True,否则返回False。

示例代码1:

A = "I love you"ans = isinstance(A, str)print("A is str: " + str(ans))B = ['I love you']ans = isinstance(B, str)print("B is str: " + str(ans))C = ["I love you"]ans = isinstance(C, list)print("C is list: " + str(ans))if not isinstance(C, list):print("C is not a list")else:print("C is a list")

运行效果:

示例代码2:

a = 'str'b = {"name": "张三"}# 是元组中的一个返回 Trueret1 = isinstance(a, (str, int, list))print(ret1)ret2 = isinstance(b, (str, int, list))print(ret2)

运行结果:

注意:

isinstance() 与 type() 区别:

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

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

示例代码3:

class A(object):passclass B(A):passprint(isinstance(A(), A)) # Trueprint(type(A()) == A) # Trueprint(isinstance(B(), A)) # Trueprint(type(B()) == A) # False

运行结果:

如果觉得《python中isinstance()函数用法详解》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。