O que é instância em Python e como implementá-la?



Este artigo apresentará um método que é o Isinstance em Python e fornecerá uma explicação conceitual completa com demonstração.

é uma das linguagens de programação mais poderosas disponíveis no mercado hoje. Python também oferece suporte à implementação de outras linguagens de programação em seu ecossistema, como Java, C e C ++. Dos muitos módulos e funções disponíveis no ecossistema Python, um que se destaca entre os demais é o isinstance em Python. Portanto, neste artigo, falaremos em detalhes sobre o isinstance, seus usos e os recursos que ele traz para a mesa.

As dicas a seguir serão abordadas neste artigo,





Vamos começar!

O que é Isinstance em Python?

O isinstance do Python é usado para verificar se o primeiro objeto que é o argumento é uma instância ou subclasse da classe classinfo que é o segundo argumento.



A sintaxe para o isinstance em Python é a seguinte.

isinstance (objeto, classinfo)

Vamos ver quais parâmetros e valor de retorno o Isinstance em Python tem,



funções que diferem apenas em seu tipo de retorno não podem ser sobrecarregadas

Parâmetro e valor de retorno de uma instância

Parâmetro

Agora que você está ciente da sintaxe para isinstance, vamos dar uma olhada no parâmetro que ela leva em consideração.

  1. Objeto: este é o objeto que precisa ser verificado.
  2. Classinfo: Esta é a classe, informação ou tupla de classes que o objeto precisa ser verificado.

Valor de retorno

Quando o isinstance é usado em um programa, o valor de retorno depende de uma série de condições, conforme explicado nos indicadores a seguir.

  1. True é retornado se o objeto for uma subclasse de classinfo ou tupla de classes.
  2. False é retornado se o objeto não for uma subclasse de classinfo ou tupla de classes.

Se em uma situação particular, o classinfo não for um tipo ou uma tupla de tipos, então uma exceção de erro de tipo é levantada na tela do usuário.

Exemplos

Para entender melhor o uso de isinstance, vamos dar uma olhada em alguns exemplos.

Exemplo 1

classe Foo: a = 5 fooInstance = Foo () print (isinstance (fooInstance, Foo)) print (isinstance (fooInstance, (list, tuple))) print (isinstance (fooInstance, (list, tuple, Foo)))

Resultado

Verdade

Falso

Verdade

Isinstance em Python: Exemplo # 2

números = [1, 2, 3] resultado = isinstance (numbers, list) print (numbers, 'instance of list?', result) result = isinstance (numbers, dict) print (numbers, 'instance of dict?', result ) resultado = isinstance (numbers, (dict, list)) print (numbers, 'instance of dict ou list?', result) number = 5 result = isinstance (number, list) print (number, 'instance of list?', resultado) resultado = isinstance (number, int) print (number, 'instance of int?', result)

Resultado

[1, 2, 3] instância da lista? Verdade

[1, 2, 3] instância de dict? Falso

[1, 2, 3] instância de dict ou list? Verdade

5 instâncias da lista? Falso

5 instância de int? Verdade

Exemplo # 3

# Código Python para a classe isinstance () Test: a = 5 TestInstance = Test () print (isinstance (TestInstance, Test)) print (isinstance (TestInstance, (list, tuple))) print (isinstance (TestInstance, (list, tuple) , Teste)))

Resultado

Verdade

como encontrar o maior número em um array java

Falso

Verdade

Vamos continuar com o artigo ‘Isinstance In Python’ e entender o uso do método Type,

O uso de tipo em Python

Semelhante ao isinstance, há outro método embutido no Python que é usado para verificar a variável tipo pf que está sendo usada durante o tempo de execução. Se um único argumento ou objeto for passado pelo método type, ele retornará o tipo do objeto que está sendo usado durante a execução.

Para entender isso melhor, dê uma olhada no exemplo abaixo.

Isinstance em Python: Exemplo # 1.1

# Python code type () com um único parâmetro de objeto x = 5 s = 'sampleoutput' y = [1,2,3] print (type (x)) print (type (s)) print (type (y))

Resultado

classe ‘int’

classe ‘str’

classe ‘lista’

Exemplo # 1.2

# Código Python para type () com um nome, # bases e parâmetro dict o1 = type ('X', (objeto,), dict (a = 'Foo', b = 12)) print (type (o1)) print (vars (o1)) teste de classe: a = 'Foo' b = 12 o2 = tipo ('Y', (teste,), dict (a = 'Foo', b = 12)) imprimir (tipo (o2)) imprimir (vars (o2))

Resultado

{‘B’: 12, ‘a’: ‘Foo’, ‘__dict__’:, ‘__doc__’: Nenhum, ‘__weakref__’:}

{‘B’: 12, ‘a’: ‘Foo’, ‘__doc__’: Nenhum}

Vamos comparar Type e Isinstance em Python,

Diferença entre Type () e Isinstance

Type e isinstance em Python têm duas funções muito diferentes. Dê uma olhada nas dicas abaixo para entender melhor a diferença entre eles.

  1. Se você precisa verificar se um objeto tem um determinado tipo, é melhor usar o isinstance. Isso ocorre porque o isinstance poderá verificar se o objeto passado no primeiro argumento é do mesmo tipo que o passado no segundo argumento.
  2. Por outro lado, o uso de tipo é mais preferido quando você precisa simplesmente verificar o tipo de um objeto específico e não compará-lo com outro.

Exemplo

#Python código para ilustrar a classe de digitação de pato Usuário (objeto): def __init __ (self, firstname): self.firstname = firstname @property def name (self): return self.firstname class Animal (object): pass class Fox (Animal) : name = 'Fox' class Bear (Animal): name = 'Bear' # Use o atributo .name (ou propriedade) independentemente do tipo de em [User ('SampleOutput'), Fox (), Bear ()] : imprimir (a.name)

Resultado

SampleOutput

Raposa

Urso

Outra razão para não usar o método de tipo é a falta de herança. Dê uma olhada nos exemplos compartilhados abaixo para entender isso melhor.

código #python para ilustrar a falta de #suporte para herança na classe type () MyDict (dict): '' 'Um dict normal, que é sempre criado com uma' chave 'inicial' '' def __init __ (self): self [ 'inicial'] = 'alguns dados' d = MyDict () print (type (d) == dict) print (type (d) == MyDict) d = dict () print (type (d) == dict) print (digite (d) == MyDict)

Resultado

Falso

definir java classpath no linux

Verdade

Verdade

Falso

Então é isso pessoal, isso nos leva ao final deste artigo. Espero que você tenha entendido o Isinstance em Python e o que ele faz.

Para obter conhecimento aprofundado sobre Python e seus vários aplicativos, você pode para treinamento online ao vivo com suporte 24 horas nos sete dias da semana e acesso vitalício.

Tem alguma questão para nós? Mencione-os na seção de comentários deste artigo e entraremos em contato com você.