Home >Backend Development >Python Tutorial >What does isinstance mean in python

What does isinstance mean in python

青灯夜游
青灯夜游Original
2023-01-11 14:03:249410browse

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.

What does isinstance mean in python

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)

What does isinstance mean in python

Example 2 : Check whether y is an instance of myObj

class myObj:
  name = "Bill"

y = myObj()

x = isinstance(y, myObj)

print(x)

What does isinstance mean in python

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn