主页 > > Python函数 >

python isinstance()

Python函数 2024-01-28 602

isinstance() 是 Python 内置函数之一,用于判断一个对象是否属于指定的类型,返回布尔值 TrueFalse。它的语法如下:

pythonCopy code
isinstance(object, classinfo)

其中,object 表示要判断的对象,classinfo 表示类型。如果 objectclassinfo 的实例,或者是 classinfo 的子类的实例,则返回 True;否则返回 False

在 Python 中,一切皆对象。除了基本数据类型如整数、浮点数、字符串等,其他所有的东西都是对象。比如一个函数、一个模块、一个列表、一个元组、一个字典,甚至是一个类,都是对象。因此 isinstance() 可以用来判断一个对象是否是某种类型,例如:

pythonCopy code
a = 5
b = "hello"
c = [1, 2, 3]
d = (4, 5, 6)
e = {"name": "Tom", "age": 18}
​
print(isinstance(a, int))  # True
print(isinstance(b, str))  # True
print(isinstance(c, list))  # True
print(isinstance(d, tuple))  # True
print(isinstance(e, dict))  # True

可以看到,我们分别定义了一个整数 a,一个字符串 b,一个列表 c,一个元组 d 和一个字典 e,然后使用 isinstance() 函数判断它们的类型。如果它们的类型和参数中指定的类型匹配,那么函数返回 True,否则返回 False

除了基本数据类型和内置类型,Python 还支持自定义类型。例如,我们可以定义一个类 Person,用于表示一个人的信息:

pythonCopy code
class Person:
   def __init__(self, name, age):
     self.name = name
     self.age = age
​
p = Person("Tom", 18)
print(isinstance(p, Person))  # True

这里我们定义了一个类 Person,它有两个属性 nameage。然后我们创建了一个 Person 对象 p,并使用 isinstance() 函数判断它是否是 Person 类型的对象。由于 pPerson 类的实例,所以函数返回 True

isinstance() 函数常常用于类型判断和类型转换。比如,我们可以使用 isinstance() 函数判断一个对象是否是可迭代对象(即是否可以使用 for 循环遍历),如果是,则可以将它转换成列表或者其他序列类型。

本文地址:https://www.cnpython.com/functions/isinstance

版权声明:Python中文网原创文章,转载请注明出处和网址。


标签:

上一篇:python items() 下一篇:python input()
python学习网 Copyright © www.bypython.com.Rights Reserved. 滇ICP备2024016848号

联系方式QQ:123456 | cnzz | 免责声明

本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请联系我们删除。