Función isinstance() en Python

1. Explicación:

        La función isinstance() es una función incorporada de Python similar a la función type(), que se utiliza para determinar si una función es de un tipo conocido.

2. Uso:

 isinstance ( objeto , información de clase)

  • objeto: objeto de instancia.
  • classinfo: puede ser un nombre de clase directo o indirecto, un tipo básico o una tupla que consta de ellos.

Valor de retorno: si el tipo de parámetro uno es coherente con el tipo de parámetro dos, devuelve Verdadero; de lo contrario, devuelve Falso.

3. Ejemplo:

a = 2.0
 
print(isinstance(a,int))
print(isinstance(a,float))
print(isinstance(a,(str, int, list, float)))

================================================
False    # a是float类型,并非int类型,结果返回False
True     # a是float类型,结果返回True
True     # 是元组中的一个,结果返回 True

4. La diferencia entre isinstance() y type() 

  • isinstance() considerará que la subclase es un tipo de clase principal y considerará la relación de herencia.
  • type() no considera que la subclase sea un tipo de clase principal y no considera la relación de herencia.
 
class A:
    pass
 
class B(A):
    pass
 
isinstance(A(), A)    # returns True
type(A()) == A        # returns True
isinstance(B(), A)    # returns True
type(B()) == A        # returns False

En este momento, encontrará que cuando crea un objeto A y luego crea un objeto B que hereda el objeto A, y usa isinstance () y type () para comparar A () y A, ya que sus tipos son los mismos, ambos son devueltos.Cierto. El objeto B hereda del objeto A. Cuando se usa la función isinstance() para comparar B() y A, dado que se considera la relación de herencia, se devuelve True. Cuando se usa la función type() para comparar B() y A, No considerará de dónde hereda B(), por lo que devuelve False.

Si desea determinar si dos tipos son iguales, se recomienda utilizar isinstance().
 

Supongo que te gusta

Origin blog.csdn.net/m0_62278731/article/details/132687318
Recomendado
Clasificación