Python isinstance() function is used to check if an object is an instance of the specified class or not.
Python的isinstance()函数用于检查对象是否为指定类的实例。
Python isinstance() (Python isinstance())
Python isinstance() function syntax is:
Python的isinstance()函数语法为:
isinstance(object, classinfo)
This function returns True
if the object is instance of classinfo argument or instance of classinfo subclass.
如果对象是classinfo参数的实例或classinfo子类的实例,则此函数返回True
。
If the object is not an instance of classinfo or its subclass, then the function returns False
.
如果对象不是classinfo或其子类的实例,则该函数返回False
。
classinfo argument can be a tuple of types. In that case, isinstance() will return True if the object is an instance of any of the types.
classinfo参数可以是类型的元组 。 在这种情况下,如果对象是任何类型的实例,则isinstance()将返回True。
If classinfo is not a type or tuple of types, a TypeError
exception is raised.
如果classinfo不是类型或类型的元组,则会引发TypeError
异常。
Python isinstance()示例 (Python isinstance() example)
Let’s look at some simple examples of isinstance() function with built-in data types, such as string, tuple, list, dict, bytes etc.
让我们看一下具有内置数据类型的isinstance()函数的一些简单示例,例如字符串 ,元组, 列表 , 字典 , 字节等。
Python isinstance()编号 (Python isinstance() number)
i = 10
print('i is int:', isinstance(i, int))
f = 10.5
print('f is float:', isinstance(f, float))
Output:
输出:
i is int: True
f is float: True
Python isinstance()字符串 (Python isinstance() string)
s = 'a'
print('s is str:', isinstance(s, str))
Output:
输出:
s is str: True
Python isinstance()字节 (Python isinstance() bytes)
b = bytes('abc', 'utf-8')
print('b is bytes:', isinstance(b, bytes))
Output:
输出:
b is bytes: True
Python isinstance()元组 (Python isinstance() tuple)
t = (1, 2)
print('t is tuple:', isinstance(t, tuple))
Output:
输出:
t is tuple: True
Python isinstance()列表 (Python isinstance() list)
li = []
print('li is list:', isinstance(li, list))
Output:
输出:
li is list: True
Python isinstance()字典 (Python isinstance() dict)
d = {}
print('d is dict:', isinstance(d, dict))
Output:
输出:
d is dict: True
Python isinstance()类和继承 (Python isinstance() class and inheritance)
Let’s look at an example of isinstance() function with custom class and inheritance with multiple classes.
我们来看一个带有自定义类和多个类继承的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))
Output:
输出:
p isinstance of Person: True
p isinstance of Employee: False
e isinstance of Person: True
e isinstance of Employee: True
Python isinstance()类的元组 (Python isinstance() tuple of classes)
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)))
Output:
输出:
p is an instance of Person or Employee: True
e is an instance of Person or Employee: True
摘要 (Summary)
Python isinstance() is a utility function to check if an object is of a specific type or not. We can use it to perform a type check and perform operations based on the type of object.
Python isinstance()是一种实用程序函数,用于检查对象是否为特定类型。 我们可以使用它来执行类型检查并根据对象的类型执行操作。
GitHub Repository.
GitHub存储库中检出完整的python脚本和更多Python示例。
Reference: Official Documentation
参考: 官方文档
翻译自: https://www.journaldev.com/22932/python-isinstance