type() y isinstance() en Python con ejemplos
¿Qué es type() en Python?
Python tiene una función integrada llamada type() que te ayuda a encontrar el tipo de clase de la variable dada como entrada. Por ejemplo, si la entrada es una cadena, obtendrá la salida como
Usando el comando type(), puede pasar un solo argumento, y el valor de retorno será el tipo de clase del argumento dado, ejemplo:type(object).
También es posible pasar tres argumentos a type(), es decir, type(name, bases, dict), en tal caso, le devolverá un nuevo tipo de objeto.
En este tutorial, aprenderá:
- ¿Qué es type() en Python?
- Sintaxis para tipo():
- Ejemplo de tipo()
- Ejemplo:Usar type() para el objeto de clase.
- Ejemplo:usar el nombre, las bases y el dictado en type()
- ¿Qué es isinstance() en Python?
- Sintaxis isinstance():
- Ejemplos de isinstance()
- Diferencia entre type() e isinstance() en Python
Sintaxis para tipo():
type() se puede usar de dos maneras, como se muestra a continuación:
type(object) type(namr, bases, dict)
Parámetros :tipo(objeto)
- objeto:Este es un parámetro obligatorio. Si este es solo un parámetro pasado a type(), le devolverá el tipo del parámetro.
Parámetros :tipo(nombre, bases, dict)
- nombre:nombre de la clase.
- bases:(opcional). Este es un parámetro opcional y es la clase base
- dict:(opcional). Este es un parámetro opcional y es un espacio de nombres que tiene la definición de la clase.
Valor de retorno:
Si el objeto es el único parámetro pasado a type(), le devolverá el tipo del objeto.
Si los parámetros pasados a tipo son un tipo (objeto, bases, dict), en tal caso, devolverá un nuevo tipo de objeto.
Ejemplo de tipo()
En este ejemplo, tenemos un valor de cadena, un número, un valor flotante, un número complejo, una lista, una tupla, un dictado y un conjunto. Usaremos las variables con tipo para ver el resultado de cada una de ellas.
str_list = "Welcome to Guru99" age = 50 pi = 3.14 c_num = 3j+10 my_list = ["A", "B", "C", "D"] my_tuple = ("A", "B", "C", "D") my_dict = {"A":"a", "B":"b", "C":"c", "D":"d"} my_set = {'A', 'B', 'C', 'D'} print("The type is : ",type(str_list)) print("The type is : ",type(age)) print("The type is : ",type(pi)) print("The type is : ",type(c_num)) print("The type is : ",type(my_list)) print("The type is : ",type(my_tuple)) print("The type is : ",type(my_dict)) print("The type is : ",type(my_set))
Salida:
The type is :<class 'str'> The type is :<class 'int'> The type is :<class 'float'> The type is :<class 'complex'> The type is :<class 'list'> The type is :<class 'tuple'> The type is :<class 'dict'> The type is :<class 'set'>
Ejemplo:Uso de type() para objeto de clase.
Cuando verifica el objeto creado a partir de una clase usando type(), devuelve el tipo de clase junto con el nombre de la clase. En este ejemplo, crearemos una clase y comprobaremos el tipo de objeto creado a partir de la prueba de clase.
class test: s = 'testing' t = test() print(type(t))
Salida:
<class '__main__.test'>
Ejemplo:Usar el nombre, las bases y el dict en type()
El tipo también se puede llamar usando la sintaxis:type(name, bases, dict).
Los tres parámetros pasados a type(), es decir, name, bases y dict, son los componentes que conforman una definición de clase. El nombre representa el nombre de la clase, las bases es la clase base y dict es el diccionario de atributos de la clase base.
En este ejemplo, vamos a hacer uso de los tres parámetros, es decir, nombre, bases y dict en type().
Ejemplo:
class MyClass: x = 'Hello World' y = 50 t1 = type('NewClass', (MyClass,), dict(x='Hello World', y=50)) print(type(t1)) print(vars(t1))
Salida:
<class 'type'> {'x': 'Hello World', 'y': 50, '__module__': '__main__', '__doc__': None}
Cuando pasa los tres argumentos a type() , le ayuda a inicializar una nueva clase con atributos de clase base.
¿Qué es isinstance() en Python?
Python isinstance es parte de las funciones integradas de Python. Python isinstance() toma dos argumentos y devuelve verdadero si el primer argumento es una instancia de classinfo dada como segundo argumento.
Sintaxis esinstancia()
isinstance(object, classtype)
Parámetros
- objeto:Un objeto cuya instancia está comparando con el tipo de clase. Devolverá verdadero si el tipo coincide con falso.
- tipo de clase:Un tipo o una clase o una tupla de tipos y/o clases.
Valor de retorno:
Devolverá verdadero si el objeto es una instancia de classtype y falso si no lo es.
Ejemplos de isinstance()
En esta sección, estudiaremos varios ejemplos para aprender isinstance()
Ejemplo:isinstance() Comprobación de enteros
El siguiente código compara el valor entero 51 con el tipo int. Devolverá verdadero si el tipo de 51 coincide con int, de lo contrario, falso.
age = isinstance(51,int) print("age is an integer:", age)
Salida:
age is an integer: True
Ejemplo:isinstance() Comprobación flotante
En este ejemplo, vamos a comparar el valor flotante con el tipo flotante, es decir, el valor 3.14 se comparará con el tipo flotante.
pi = isinstance(3.14,float) print("pi is a float:", pi)
Salida:
pi is a float: True
Ejemplo:verificación de cadena isinstance()
message = isinstance("Hello World",str) print("message is a string:", message)
Salida:
message is a string: True
Ejemplo:isinstance() Comprobación de tupla
El código busca una tupla (1,2,3,4,5) con tipo tupla. Devolverá verdadero si la entrada proporcionada es de tipo tupla y falso en caso contrario.
my_tuple = isinstance((1,2,3,4,5),tuple) print("my_tuple is a tuple:", my_tuple)
Salida:
my_tuple is a tuple: True
Ejemplo:isinstance() Establecer control
El código busca un conjunto ({1,2,3,4,5}, con el tipo establecido. Devolverá verdadero si la entrada proporcionada es del tipo establecido y falso si no lo es.
my_set = isinstance({1,2,3,4,5},set) print("my_set is a set:", my_set)
Salida:
my_set is a set: True
Ejemplo:verificación de lista isinstance()
El código busca una lista [1,2,3,4,5], con tipo list. Devolverá verdadero si la entrada dada es de tipo lista y falso si no.
my_list = isinstance([1,2,3,4,5],list) print("my_list is a list:", my_list)
Salida:
my_list is a list: True
Ejemplo:verificación de dictamen isinstance()
El código busca un dict({“A”:”a”, “B”:”b”, “C”:”c”, “D”:”d”}, con tipo dict. Devolverá verdadero si la entrada dada es de tipo dict y falsa si no.
my_dict = isinstance({"A":"a", "B":"b", "C":"c", "D":"d"},dict) print("my_dict is a dict:", my_dict)
Salida:
my_dict is a dict: True
Ejemplo:prueba isinstance() en una clase
El código muestra la verificación de tipo de clase con isinstance() . El objeto de la clase se compara con el nombre de la clase dentro de isinstance(). Devuelve verdadero si el objeto pertenece a la clase y falso en caso contrario.
class MyClass: _message = "Hello World" _class = MyClass() print("_class is a instance of MyClass() : ", isinstance(_class,MyClass))
Salida:
_class is a instance of MyClass() True
Diferencia entre type() e isinstance() en Python
tipo() | esunainstancia() |
---|---|
Python tiene una función integrada llamada type() que le ayuda a encontrar el tipo de clase de la variable dada como entrada. | Python tiene una función integrada llamada isinstance() que compara el valor con el tipo dado. Si el valor y el tipo coinciden, devolverá verdadero, de lo contrario, falso. |
El valor devuelto es un tipo de objeto | El valor devuelto es un valor booleano, es decir, verdadero o falso. |
class A: my_listA = [1,2,3] class B(A): my_listB = [1,2,3] print(type(A()) == A) print(type(B()) == A) Salida: True False En caso de tipo, la verificación de subclase devuelve falso. | class A: my_listA = [1,2,3] class B(A): my_listB = [1,2,3] print(isinstance(A(), A)) print(isinstance(B(), A)) Salida: True True isinstance() da un valor real cuando se verifica con una subclase. |
Resumen:
- Python tiene una función integrada llamada type() que le ayuda a encontrar el tipo de clase de la variable dada como entrada. Por ejemplo, si la entrada es una cadena, obtendrá la salida como
, para la lista, será , etc. - Para type(), puede pasar un solo argumento, y el valor devuelto será el tipo de clase del argumento dado, por ejemplo, type(object).
- También es posible pasar tres argumentos a type(), es decir, type(name, bases, dict), en tal caso, le devolverá un nuevo tipo de objeto.
- Python tiene una función integrada llamada instancia() que compara el valor con el tipo dado. Si el valor y el tipo coinciden, devolverá verdadero, de lo contrario, falso. Usando isinstance(), puede probar string, float, int, list, tuple, dict, set, class, etc.
- Usando el método isinstance(), puede probar cadenas, flotantes, int, listas, tuplas, dictados, conjuntos, clases, etc.
python
- Expresiones, declaraciones y bloques de C# (con ejemplos)
- Conversión de tipos de Python y conversión de tipos
- Números de Python, conversión de tipos y matemáticas
- Creación de robots con Raspberry Pi y Python
- Python String count () con EJEMPLOS
- Python String format() Explicar con EJEMPLOS
- Método Python String find() con ejemplos
- Funciones Python Lambda con EJEMPLOS
- Función Python round() con EJEMPLOS
- Función Python map() con EJEMPLOS
- Python Timeit() con ejemplos