In python, isinstance means "type judgment". isinstance() is a built-in function used to determine whether an object is a known type. The syntax is "isinstance(object, type)". If so, it returns True, otherwise it returns False; and if the type parameter is a tuple, and Object is one of the types in the tuple, then this function will also return True.
The operating environment of this tutorial: windows7 system, python3 version, DELL G3 computer
In python, isinstance means "type judgment" .
python isinstance() function
isinstance() function to determine whether an object is a known type, similar to type().
The difference between isinstance() and type():
type() does not consider the subclass to be a parent class type and does not consider the inheritance relationship.
isinstance() will consider the subclass to be a parent class type and consider the inheritance relationship.
If you want to determine whether two types are the same, it is recommended to use isinstance().
If the specified object has the specified type, the isinstance() function returns True, otherwise it returns False.
If the type parameter is a tuple, this function will return True if the object is one of the types in the tuple.
Syntax:
isinstance(object, type)
Parameters | Description |
---|---|
object | Required. object. |
type | Type or class, or a tuple of types and/or classes. |
Example 1: Check if "Hello" is one of the types described in the type parameter
x = isinstance("Hello", (str, float, int, str, list, dict, tuple)) print(x)
Example 2 : Check whether y is an instance of myObj
class myObj: name = "Bill" y = myObj() x = isinstance(y, myObj) print(x)
Extended knowledge: The difference between type and isinstance
Type in python can get a The data type of an object. isinstance can determine the data type of an object. There are two differences between them.
1. isinstance is more flexible.
type just returns the data of an object. type, and isinstance can determine whether the data type of this object is one of several data types.
Suppose we want to determine whether the data type of an object is int or float. Examples of how to write the two functions are as follows
a = 4 # 使用type if type(a) == int or type(a) == float: print('yes') # 使用isinstance if isinstance(a, (int, float)): print('yes')
Obviously, in this scenario, isinstance has more advantages
2. Determine the situation when there is an inheritance relationship
class A: pass class B(A): pass a = A() b = B() print(type(b) == A) # False print(isinstance(b, A)) # True
B is a subclass of A, type(b) returns class B, which is not equal to A, but B is of A Subclass, therefore, we can think that b is also an object of A. Faced with this situation where there is an inheritance relationship, isinstance should be used
Recommended learning:Python video tutorial
The above is the detailed content of What does isinstance mean in python. For more information, please follow other related articles on the PHP Chinese website!