What does isinstance mean in python

青灯夜游
Release: 2023-01-11 14:03:24
Original
9310 people have browsed it

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)
Copy after login
ParametersDescription
objectRequired. object.
typeType 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)
Copy after login

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)
Copy after login

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')
Copy after login

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
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!