欢迎访问宙启技术站
智能推送

Python中如何使用isinstance()函数检查变量类型?

发布时间:2023-05-28 09:04:59

首先,isinstance()是Python内置函数之一,用于检查变量/对象是否属于指定的类型。它的使用方法非常简单,只需要用到两个参数:要检查的变量/对象和指定类型。

以下是isinstance()的基本语法:

isinstance(var, Type)

其中,var是要检查的变量/对象,Type则是指定的类型。如果返回结果为True,说明该变量/对象属于指定的类型。如果返回结果为False,则说明不属于该类型。

以下是一个简单的示例:

a = 5
b = "hello"
c = [1, 2, 3]

print(isinstance(a, int)) # True
print(isinstance(b, str)) # True
print(isinstance(c, list)) # True
print(isinstance(a, str)) # False

在这个示例中,我们定义了变量a、b和c,并使用isinstance()函数检查它们的类型。在 次检查中,我们检查变量a是否为整数类型。由于a的值为5,是一个整数类型,因此返回True。

在第二次和第三次检查中,我们检查变量b和c是否为字符串类型和列表类型。由于b的值为"hello",是一个字符串类型,c的值为[1, 2, 3],是一个列表类型,因此这两次检查都会返回True。

在最后一次检查中,我们检查变量a是否为字符串类型。但是,由于a的值为整数类型,而不是字符串类型,因此返回False。

除了基本类型外,我们还可以使用isinstance()检查自定义类型。如果我们定义了一个新的类,例如:

class Dog:
  pass

class Cat:
  pass

我们可以使用isinstance()检查实例是否属于该类类型,如下所示:

d = Dog()
c = Cat()

print(isinstance(d, Dog)) # True
print(isinstance(c, Cat)) # True
print(isinstance(d, Cat)) # False

在这个示例中,我们定义了两个类:Dog和Cat。我们创建了一个名为d的Dog实例和一个名为c的Cat实例。我们使用isinstance()检查每个实例是否属于它们所属的类类型。由于d实例属于Dog类,因此返回True,而c实例属于Cat类,因此也返回True。

最后,需要注意的一点是,isinstance()只检查对象的类型,而不是它的值。例如,在以下示例中,isinstance()检查变量a是整数类型,而不是其具体的值5是否为偶数:

a = 5

print(isinstance(a, int)) # True
print(isinstance(a, even)) # NameError: name 'even' is not defined

在这个示例中,我们使用isinstance()检查a是否为整数类型。同样地,我们尝试检查它是否为偶数类型。但是,由于“even”未定义,因此会引发NameError异常。因此,需要注意isinstance()只检查变量/对象的类型,而不是它的值。