Python 中的 isinstance() 函数:类型检查的利器
isinstance()
是一个内置函数,用于检查一个对象是否是一个特定类型或者是从一个特定类型派生而来的。它的函数原型如下:
isinstance(object, classinfo)
其中 object
是需要检查的对象,classinfo
可以是直接或间接类名、基本类型或者由它们组成的元组。如果对象的类型与 classinfo
相匹配,函数返回 True
,否则返回 False
。
下面是一些使用 isinstance()
的示例:
# 检查一个变量是否是字符串
a = "Hello"
print(isinstance(a, str)) # 输出: True
# 检查一个变量是否是整数
b = 10
print(isinstance(b, int)) # 输出: True
# 检查一个变量是否是列表或字典
c = []
print(isinstance(c, list)) # 输出: True
d = {}
print(isinstance(d, dict)) # 输出: True
# 检查多个类型,使用元组
e = 10
print(isinstance(e, (int, float))) # 输出: True,因为 e 既不是 int 也不是 float,但它是数字类型,数字是 int 的父类
# 检查用户定义的类型
class MyNumber:
def __init__(self, value):
self.value = value
num = MyNumber(5)
print(isinstance(num, MyNumber)) # 输出: True
# 检查类型是否来自某个特定的元组
f = 3.14
print(isinstance(f, (int, float))) # 输出: True
isinstance()
是一个非常实用的工具,可以用来确保函数接收到的参数是预期的类型,从而避免在运行时发生类型错误。
评论已关闭