Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> python

Entendendo type() e isinstance() em Python: Exemplos Práticos

Entendendo type() e isinstance() em Python: Exemplos Práticos

O que é type() em Python?

O Python tem uma função nativa chamada type() que ajuda a encontrar o tipo de classe da variável dada como entrada. Por exemplo, se a entrada for uma string, a saída será <class 'str'>, para lista será <class 'list'>, 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: type(objeto).

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

Neste tutorial, você aprenderá:

Sintaxe para type():

type() pode ser usado de duas formas como mostrado abaixo:

type(objeto)
type(nome, bases, dict)

Parâmetros: type(objeto)

Parâmetros: type(nome, bases, dict)

Valor de Retorno:

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

Se os parâmetros passados para type forem type(objeto, bases, dict), nesse caso, retornará um novo tipo de objeto.

Exemplo de type()

Neste exemplo temos um valor string, número, valor float, número complexo, lista, tupla, dict e set. Usaremos as variáveis com type para ver a saída para cada um.

str_lista = "Bem-vindo ao Guru99"
idade = 50
pi = 3.14
c_num = 3j+10
minha_lista = ["A", "B", "C", "D"]
minha_tupla = ("A", "B", "C", "D")
meu_dict = {"A":"a", "B":"b", "C":"c", "D":"d"}
meu_set = {'A', 'B', 'C', 'D'}

print("O tipo é: ", type(str_lista))
print("O tipo é: ", type(idade))
print("O tipo é: ", type(pi))
print("O tipo é: ", type(c_num))
print("O tipo é: ", type(minha_lista))
print("O tipo é: ", type(minha_tupla))
print("O tipo é: ", type(meu_dict))
print("O tipo é: ", type(meu_set))

Saída:

O tipo é: <class 'str'>
O tipo é: <class 'int'>
O tipo é: <class 'float'>
O tipo é: <class 'complex'>
O tipo é: <class 'list'>
O tipo é: <class 'tuple'>
O tipo é: <class 'dict'>
O tipo é: <class 'set'>

Exemplo: Usando type() para Objeto de Classe

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

class Teste:
    s = 'testando'

t = Teste()
print(type(t))

Saída: <class '__main__.Teste'>

Exemplo: Usando nome, bases e dict em type()

O type também pode ser chamado usando a sintaxe: type(nome, bases, dict).

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

Neste exemplo, vamos usar todos os três parâmetros: nome, bases e dict em type().

class MinhaClasse:
    x = 'Hello World'
    y = 50

t1 = type('NovaClasse', (MinhaClasse,), dict(x='Hello World', y=50))
print(type(t1))
print(vars(t1))

Saída:

<class 'type'>
{'x': 'Hello World', 'y': 50, '__module__': '__main__', '__doc__': None}

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

O que é isinstance() em Python?

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

Sintaxe isinstance()

isinstance(objeto, tipo_classe)

Parâmetros

Valor de Retorno:

Retornará verdadeiro se o objeto for uma instância de tipo_classe e falso se não for.

Exemplos de isinstance()

Exemplo: isinstance() Verificação de Inteiro

idade = isinstance(51, int)
print("idade é um inteiro:", idade)

Saída: idade é um inteiro: True

Exemplo: isinstance() Verificação de Float

pi = isinstance(3.14, float)
print("pi é um float:", pi)

Saída: pi é um float: True

Exemplo: isinstance() Verificação de String

mensagem = isinstance("Hello World", str)
print("mensagem é uma string:", mensagem)

Saída: mensagem é uma string: True

Exemplo: isinstance() Verificação de Tupla

minha_tupla = isinstance((1,2,3,4,5), tuple)
print("minha_tupla é uma tupla:", minha_tupla)

Saída: minha_tupla é uma tupla: True

Exemplo: isinstance() Verificação de Set

meu_set = isinstance({1,2,3,4,5}, set)
print("meu_set é um set:", meu_set)

Saída: meu_set é um set: True

Exemplo: isinstance() Verificação de Lista

minha_lista = isinstance([1,2,3,4,5], list)
print("minha_lista é uma lista:", minha_lista)

Saída: minha_lista é uma lista: True

Exemplo: isinstance() Verificação de Dict

meu_dict = isinstance({"A":"a", "B":"b", "C":"c", "D":"d"}, dict)
print("meu_dict é um dict:", meu_dict)

Saída: meu_dict é um dict: True

Exemplo: isinstance() Teste em uma Classe

class MinhaClasse:
    _mensagem = "Hello World"

_classe = MinhaClasse()
print("_classe é uma instância de MinhaClasse(): ", isinstance(_classe, MinhaClasse))

Saída: _classe é uma instância de MinhaClasse() True

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

type()isinstance()
Função nativa que encontra o tipo de classe da variável dada como entrada. Função nativa que compara o valor com o tipo dado. Se valor e tipo corresponderem, retorna true, senão false.
Valor de retorno é um objeto tipo Valor de retorno é Booleano (true ou false)
class A:
    minha_listaA = [1,2,3]
class B(A):
    minha_listaB = [1,2,3]
print(type(A()) == A)
print(type(B()) == A)

Saída: True False

No caso de type, a verificação de subclasse retorna false.

class A:
    minha_listaA = [1,2,3]
class B(A):
    minha_listaB = [1,2,3]
print(isinstance(A(), A))
print(isinstance(B(), A))

Saída: True True

isinstance() retorna verdadeiro quando verificado com subclasse.

Resumo

python

  1. Expressões, Instruções e Blocos em C#: Guia Completo com Exemplos Práticos
  2. Dominando Conversão e Casting de Tipos em Python: Guia Completo
  3. Dominando Números, Conversão de Tipos e Matemática em Python
  4. Construa um Robô com Raspberry Pi e Python: Guia Completo
  5. Domine o str.count() do Python: Como Contar Caracteres e Substrings com Exemplos
  6. Domine Strings format() em Python com Exemplos Claros
  7. Domine o Método String.find() do Python: Sintaxe, Exemplos e Alternativas
  8. Dominando Funções Lambda em Python: Exemplos Práticos e Boas Práticas
  9. Função round() em Python Explicada com Exemplos Práticos
  10. Dominando a Função map() do Python: Sintaxe, Exemplos e Boas Práticas