isinstance() 是 Python 内置函数之一,用于判断一个对象是否属于指定的类型,返回布尔值 True 或 False。它的语法如下:
pythonCopy code isinstance(object, classinfo)
其中,object 表示要判断的对象,classinfo 表示类型。如果 object 是 classinfo 的实例,或者是 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,它有两个属性 name 和 age。然后我们创建了一个 Person 对象 p,并使用 isinstance() 函数判断它是否是 Person 类型的对象。由于 p 是 Person 类的实例,所以函数返回 True。
isinstance() 函数常常用于类型判断和类型转换。比如,我们可以使用 isinstance() 函数判断一个对象是否是可迭代对象(即是否可以使用 for 循环遍历),如果是,则可以将它转换成列表或者其他序列类型。
本文地址:https://my.lmcjl.com/functions/isinstance
版权声明:个人博客原创文章,转载请注明出处和网址。
,欢迎加入。
本文链接:https://my.lmcjl.com/post/4716.html
4 评论