ype () e isinstance () em Python com exemplos

O que é type () em Python?

Python tem uma função interna chamada type () que ajuda você a encontrar o tipo de classe da variável fornecida como entrada. Por exemplo, se a entrada for uma string, você obterá a saída como, para a lista, será, etc.

Usando o comando type (), você pode passar um único argumento, e o valor de retorno será o tipo de classe do argumento dado, exemplo: tipo (objeto).

Também é possível passar três argumentos para type (), ou seja, tipo (nome, bases, dict), neste caso, ele retornará um novo objeto de tipo.

Neste tutorial, você aprenderá:

Sintaxe para tipo ():

type () pode ser usado de duas maneiras, conforme mostrado abaixo:

 type(object) type(namr, bases, dict) 

Parâmetros : tipo (objeto)

  • objeto: Este é um parâmetro obrigatório. Se este for apenas o parâmetro passado para type (), então ele retornará a você o tipo do parâmetro.

Parâmetros : tipo (nome, bases, dicionário)

  • nome: nome da turma.
  • bases: (opcional). Este é um parâmetro opcional e é a classe base
  • dict: (opcional). Este é um parâmetro opcional e é um namespace que contém a definição da classe.

Valor de retorno:

Se o objeto for o único parâmetro passado para type (), ele retornará o tipo do objeto.

Se o parâmetro passado ao tipo for um tipo (objeto, bases, dict), neste caso, retornará um novo tipo de objeto.

Exemplo de tipo ()

Neste exemplo, temos um valor de string, número, valor flutuante, um número complexo, lista, tupla, dicionário e conjunto. Usaremos as variáveis ​​com tipo para ver a saída de cada uma delas.

 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)) 

Resultado:

 The type is : The type is : The type is : The type is : The type is : The type is : The type is : The type is : 

Exemplo: Usando type () para objeto de classe.

Quando você verifica o objeto criado a partir de uma classe usando type (), ele retorna o tipo de classe junto com o nome da classe. Neste exemplo, vamos criar uma classe e verificar o tipo de objeto criado a partir do teste da classe.

 class test: s = 'testing' t = test() print(type(t)) 

Resultado:

 

Exemplo: usando o nome, bases e dict em type ()

O tipo também pode ser chamado usando a sintaxe: tipo (nome, bases, dicionário).

Os três parâmetros passados ​​para type () ou seja, nome, bases e dict são os componentes que constituem uma definição de classe. O nome representa o nome da classe, a base é a classe base e dict é o dicionário de atributos da classe base.

Neste exemplo, vamos fazer uso de todos os três parâmetros, ou seja, nome, bases e dict em type ().

Exemplo:

 class MyClass: x = 'Hello World' y = 50 t1 = type('NewClass', (MyClass,), dict(x='Hello World', y=50)) print(type(t1)) print(vars(t1)) 

Saída:

 {'x': 'Hello World', 'y': 50, '__module__': '__main__', '__doc__': None} 

Quando você passa todos os três argumentos para type (), isso ajuda a inicializar uma nova classe com atributos de classe base.

O que é isinstance () em Python?

Python isinstance faz parte das funções integradas do Python. Python isinstance () recebe dois argumentos e retorna true se o primeiro argumento for uma instância do classinfo fornecido como o segundo argumento.

Sintaxe isinstance ()

 isinstance(object, classtype) 

Parâmetros

  • object: um objeto cuja instância você está comparando com classtype. Ele retornará verdadeiro se o tipo corresponder a falso.
  • tipo de classe: um tipo ou uma classe ou uma tupla de tipos e / ou classes.

Valor de retorno:

Ele retornará verdadeiro se o objeto for uma instância de tipo de classe e falso se não for.

Exemplos de isinstance ()

Nesta seção, estudaremos vários exemplos para aprender isinstance ()

Exemplo: isinstance () verificação de inteiro

O código a seguir compara o valor inteiro 51 com o tipo int. Ele retornará verdadeiro se o tipo de 51 corresponder a int, caso contrário, será falso.

 age = isinstance(51,int) print('age is an integer:', age) 

Saída:

 age is an integer: True 

Exemplo: isinstance () Float check

Neste exemplo, vamos comparar o valor float com o tipo float, ou seja, o valor 3,14 será comparado com o tipo float.

 pi = isinstance(3.14,float) print('pi is a float:', pi) 

Saída:

 pi is a float: True 

Exemplo: isinstance () String check

 message = isinstance('Hello World',str) print('message is a string:', message) 

Saída:

 message is a string: True 

Exemplo: isinstance () Verificação de tupla

O código verifica se há uma tupla (1,2,3,4,5) com tipo tupla. Ele retornará verdadeiro se a entrada fornecida for do tipo tupla e falso se não for.

 my_tuple = isinstance((1,2,3,4,5),tuple) print('my_tuple is a tuple:', my_tuple) 

Saída:

 my_tuple is a tuple: True 

Exemplo: isinstance () Definir verificação

O código verifica se há um conjunto ({1,2,3,4,5}, com o tipo definido. Ele retornará verdadeiro se a entrada fornecida for do tipo definido e falso se não for.

 my_set = isinstance({1,2,3,4,5},set) print('my_set is a set:', my_set) 

Saída:

 my_set is a set: True 

Exemplo: verificação da lista isinstance ()

O código verifica se há uma lista [1,2,3,4,5], com lista de tipos. Ele retornará verdadeiro se a entrada fornecida for do tipo lista e falso se não for.

 my_list = isinstance([1,2,3,4,5],list) print('my_list is a list:', my_list) 

Saída:

 my_list is a list: True 

Exemplo: isinstance () dict check

O código verifica se há um dict ({'A': 'a', 'B': 'b', 'C': 'c', 'D': 'd'}, com o tipo dict. Ele retornará verdadeiro se a entrada fornecida é do tipo dict e false, caso contrário.

 my_dict = isinstance({'A':'a', 'B':'b', 'C':'c', 'D':'d'},dict) print('my_dict is a dict:', my_dict) 

Saída:

 my_dict is a dict: True 

Exemplo: teste isinstance () em uma classe

O código mostra a verificação de tipo da classe com isinstance (). O objeto da classe é comparado com o nome da classe dentro de isinstance (). Retorna verdadeiro se o objeto pertencer à classe e falso caso contrário.

 class MyClass: _message = 'Hello World' _class = MyClass() print('_class is a instance of MyClass() : ', isinstance(_class,MyClass)) 

Saída:

 _class is a instance of MyClass() True 

Diferença entre type () e isinstance () em Python

modelo()isinstance ()
Python tem uma função interna chamada type () que ajuda você a encontrar o tipo de classe da variável fornecida como entrada.Python tem uma função interna chamada isinstance () que compara o valor com o tipo fornecido. Se o valor e o tipo fornecidos corresponderem, ele retornará verdadeiro, caso contrário, será falso.
O valor de retorno é um objeto de tipoO valor de retorno é um booleano, ou seja, verdadeiro ou falso.
class A: my_listA = [1,2,3] class B(A): my_listB = [1,2,3] print(type(A()) == A) print(type(B()) == A) 
Saída:
 True False 
No caso do tipo, a verificação da subclasse retorna false.
class A: my_listA = [1,2,3] class B(A): my_listB = [1,2,3] print(isinstance(A(), A)) print(isinstance(B(), A)) 
Saída:
 True True 
isinstance () fornece um valor verdadeiro quando verificado com uma subclasse.

Resumo:

  • Python tem uma função interna chamada type () que ajuda você a encontrar o tipo de classe da variável fornecida como entrada. Por exemplo, se a entrada for uma string, você obterá a saída como, para a lista, será, etc.
  • Para type (), você pode passar um único argumento, e o valor de retorno será o tipo de classe do argumento fornecido, por exemplo, tipo (objeto).
  • Também é possível passar três argumentos para type (), ou seja, tipo (nome, bases, dict), neste caso, ele retornará um novo objeto de tipo.
  • Python tem uma função interna chamada instance () que compara o valor com o tipo fornecido. Se o valor e o tipo fornecidos corresponderem, ele retornará verdadeiro, caso contrário, será falso. Usando isinstance (), você pode testar string, float, int, list, tuple, dict, set, class, etc.
  • Usando o método isinstance (), você pode testar string, float, int, list, tupla, dict, set, class, etc.