é 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,
- O que é Isinstance em Python?
- Parâmetro e valor de retorno de uma instância
- Uso do tipo em Python
- Diferença entre Type () e Isinstance
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.
- Objeto: este é o objeto que precisa ser verificado.
- 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.
- True é retornado se o objeto for uma subclasse de classinfo ou tupla de classes.
- 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.
- 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.
- 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ê.