logo

Função Python isinstance()

A função Python isinstance() é usada para verificar se o objeto fornecido é uma instância dessa classe. Se o objeto pertencer à classe, ele retornará True. Caso contrário, retorna False. Também retorna verdadeiro se a classe for uma subclasse.

A função isinstance() recebe dois argumentos object e classinfo e retorna True ou False. A assinatura da função é fornecida abaixo.

Sintaxe:

 isinstance(object, classinfo) 

Parâmetros

objeto: É um objeto do tipo string, int, float, long ou customizado.

informações de classe: Nome da classe.

Retornar

Ele retorna booleano True ou False.

Vamos ver alguns exemplos da função isinstance() para entender sua funcionalidade.

Exemplos de Isinstance() em Python:

Utilizamos a função isinstance() para verificar se várias variáveis ​​são instâncias de seus tipos de dados ou classes separados.

1. Inteiro

Código

diferença entre árvore binária e árvore de pesquisa binária
 # Check if an integer is an int n = 100 print(isinstance(n, int)) 

Saída:

 True 

2. Flutuar

Código

 # Check if a float is a float pi = 3.14159 print(isinstance(pi, float)) 

Saída:

 True 

3. Corda

Código

matriz c string
 # Check if a string is a string name = 'Johnny' print(isinstance(name, str)) 

Saída:

 True 

4. Lista

Código

 # Check if a list is a list colours = ['blue', 'black', 'brown'] print(isinstance(colours, list)) 

Saída:

 True 

5. Dicionário

Código

 # Check if a dictionary is a dict person = {'name': 'Ayan', 'age': 30} print(isinstance(person, dict)) 

Saída:

 True 

6. Tupla

Código

 # Check if a tuple is a tuple point = (1, 5) print(isinstance(point, tuple)) 

Saída:

 True 

7. Definir

Código

 # Check if a set is a set digits = {1, 2, 3, 4,5,6,7,8} print(isinstance(digits, set)) 

Saída:

 True 

8. Classe

Código

 # Check if a custom class instance is an instance of that class class Bike: pass my_bike = Bike() print(isinstance(my_bike, Bike)) 

Saída:

memória virtual
 True 

Vamos ver mais alguns exemplos da função isinstance() para entender sua funcionalidade.

Exemplo de função Python isinstance() 1

Aqui, estamos passando objeto e classe para a função que retorna True apenas se o objeto pertencer à classe. Veja o exemplo abaixo.

Código

 # Python isinstance() function example class Student: id = 101 name = 'John' def __init__(self, id, name): self.id=id self.name=name student = Student(1010,'John') lst = [ 12,34,5,6,767 ] # Calling function print(isinstance(student, Student)) # isinstance of Student class print(isinstance(lst, Student)) 

Saída:

 True False 

Exemplo de função Python isinstance() 2

isinstance() pode ser utilizado para verificar se um objeto é uma instância de uma classe que executa uma interface específica. Podemos caracterizar uma interface como uma classe que determina um conjunto de técnicas que diferentes classes executam.

variável global javascript

Código

 # Python isinstance() function example class Animal: def speak(self): raise NotImplementedError class Dog(Animal): def speak(self): return 'Woof!' class Cat(Animal): def speak(self): return 'Meow!' def make_animal_speak(animal): if isinstance(animal, Animal): return animal.speak() else: raise ValueError('Object is not an Animal') my_dog = Dog() my_cat = Cat() print(make_animal_speak(my_dog)) print(make_animal_speak(my_cat)) 

Saída:

 'Woof!' 'Meow!' 

Exemplo de função Python isinstance() 3

Esta função também retorna True se o objeto for de subclasse e a classe for uma classe pai. Veja como funciona no exemplo abaixo.

Código

 # Python isinstance() function example # Declaring variables class NumericList(list): def __init__(self): return None num = NumericList() # Calling function print(isinstance(num, NumericList)) # True print(isinstance(num, list)) # True 

Saída:

 True True 

Conclusão:

Concluindo, a função isinstance() é uma função interna útil do Python que nos permite verificar se um objeto é uma instância de uma classe ou subclasse predefinida. Isso pode ser especialmente valioso ao trabalhar com código que inclui vários tipos de dados ou ao escrever bibliotecas ou APIs que precisam lidar com muitos tipos de entrada. Ao utilizar isinstance(), pode-se garantir que nosso código atue com precisão para diferentes tipos de entrada e seja mais vigoroso em geral.