Python isinstance()
时间:2020-02-23 14:42:50 来源:igfitidea点击:
Python的isinstance()函数用于检查对象是否为指定类的实例。
Python isinstance()
Python的isinstance()函数语法为:
isinstance(object, classinfo)
如果对象是classinfo参数的实例或者classinfo子类的实例,则此函数返回True。
如果对象不是classinfo或者其子类的实例,则该函数返回False。
classinfo参数可以是类型的元组。
在这种情况下,如果对象是任何类型的实例,则isinstance()将返回True。
如果classinfo不是类型或者类型的元组,则会引发" TypeError"异常。
Python isinstance()示例
让我们看一下具有内置数据类型的isinstance()函数的一些简单示例,例如字符串,元组,列表,字典,字节等。
Python isinstance() 数字
i = 10 print('i is int:', isinstance(i, int)) f = 10.5 print('f is float:', isinstance(f, float))
输出:
i is int: True f is float: True
Python isinstance()字符串
s = 'a' print('s is str:', isinstance(s, str))
输出:
s is str: True
Python isinstance()字节
b = bytes('abc', 'utf-8') print('b is bytes:', isinstance(b, bytes))
输出:
b is bytes: True
Python isinstance()元组
t = (1, 2) print('t is tuple:', isinstance(t, tuple))
输出:
t is tuple: True
Python isinstance()列表
li = [] print('li is list:', isinstance(li, list))
输出:
li is list: True
Python isinstance()字典
d = {} print('d is dict:', isinstance(d, dict))
输出:
d is dict: True
Python isinstance()类和继承
让我们看一个具有自定义类和多个类继承的isinstance()函数的示例。
class Person: name = '' class Employee(Person): id = 0 p = Person() e = Employee() print('p isinstance of Person:', isinstance(p, Person)) print('p isinstance of Employee:', isinstance(p, Employee)) print('e isinstance of Person:', isinstance(e, Person)) print('e isinstance of Employee:', isinstance(e, Employee))
输出:
p isinstance of Person: True p isinstance of Employee: False e isinstance of Person: True e isinstance of Employee: True
Python isinstance()类的元组
print('p is an instance of Person or Employee:', isinstance(p, (Person, Employee))) print('e is an instance of Person or Employee:', isinstance(e, (Person, Employee)))
输出:
p is an instance of Person or Employee: True e is an instance of Person or Employee: True