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

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

发布时间:2023-07-02 19:54:26

在Python中,可以使用isinstance()函数来判断变量的类型。该函数的语法为:

isinstance(object, classinfo)

其中,object是要判断类型的变量,classinfo是要判断的类型。下面是使用isinstance()函数判断变量类型的几种常见用法:

1. 判断一个变量是否为某个具体类型:

   x = 'hello'
   if isinstance(x, str):
       print('x is a string')
   

2. 判断一个变量是否属于多个类型之一:

   x = 10
   if isinstance(x, (int, float)):
       print('x is a number')
   

3. 判断一个变量是否为某个类的实例:

   class MyClass:
       pass
   
   x = MyClass()
   if isinstance(x, MyClass):
       print('x is an instance of MyClass')
   

4. 判断一个变量是否为某些类型中的任意一个:

   x = 'hello'
   if isinstance(x, (str, int, float)):
       print('x is a string, int or float')
   

5. 判断一个变量是否为某个类型的子类:

   class ParentClass:
       pass
   
   class ChildClass(ParentClass):
       pass
   
   x = ChildClass()
   if isinstance(x, ParentClass):
       print('x is an instance of ParentClass or its subclass')
   

需要注意的是,isinstance()函数会将子类对象视为父类对象的一个实例,所以当判断一个变量是否为某个类的实例时,如果该变量是该类的子类的实例,也会返回True。

isinstance()函数是通过查看对象的类型来判断的,因此当变量的类型为任何该类型的子类时,isinstance()函数也会返回True。对于内置类型,可以使用内置函数来代替isinstance()进行判断,比如使用type()函数来判断变量的类型。