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()函数来判断变量的类型。
