Type () i isinstance () w Pythonie z przykładami

Spisie treści:

Anonim

Co to jest type () w Pythonie?

Python ma wbudowaną funkcję o nazwie type (), która pomaga znaleźć typ klasy zmiennej podanej jako dane wejściowe. Na przykład, jeśli wejście jest ciągiem, otrzymasz wynik jako , dla listy będzie to , itd.

Używając polecenia type (), możesz przekazać pojedynczy argument, a zwracana wartość będzie klasowym typem podanego argumentu, na przykład: type (object).

Możliwe jest również przekazanie trzech argumentów do type (), tj. Type (name, bases, dict), w takim przypadku zwróci on nowy obiekt typu.

W tym samouczku dowiesz się:

  • Co to jest type () w Pythonie?
  • Składnia typu ():
  • Przykład typu ()
  • Przykład: użycie type () dla obiektu klasy.
  • Przykład: użycie nazwy, podstaw i dyktu w type ()
  • Czym jest isinstance () w Pythonie?
  • Składnia isinstance ():
  • Przykłady of isinstance ()
  • Różnica między type () a isinstance () w Pythonie

Składnia typu ():

type () można używać na dwa sposoby, jak pokazano poniżej:

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

Parametry : typ (obiekt)

  • obiekt: To jest obowiązkowy parametr. Jeśli jest to tylko parametr przekazany do type (), to zwróci ci typ parametru.

Parametry : typ (nazwa, podstawy, dict)

  • name: nazwa klasy.
  • podstawy: (opcjonalnie). Jest to parametr opcjonalny i jest to klasa bazowa
  • dict: (opcjonalnie). Jest to parametr opcjonalny i jest to przestrzeń nazw zawierająca definicję klasy.

Wartość zwracana:

Jeśli obiekt jest jedynym parametrem przekazanym do metody type (), to zwróci on typ obiektu.

Jeśli parametry przekazane do type są typem (obiekt, bazy, dykt), to w takim przypadku zwróci nowy typ obiektu.

Przykład typu ()

W tym przykładzie mamy wartość ciągu, liczbę, wartość zmiennoprzecinkową, liczbę zespoloną, listę, krotkę, dict i set. Użyjemy zmiennych z typem, aby zobaczyć dane wyjściowe dla każdej z nich.

str_list = "Welcome to Guru99"age = 50pi = 3.14c_num = 3j+10my_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))

Wynik:

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

Przykład: użycie type () dla obiektu klasy.

Kiedy sprawdzasz obiekt utworzony z klasy za pomocą type (), zwraca typ klasy wraz z nazwą klasy. W tym przykładzie utworzymy klasę i sprawdzimy typ obiektu utworzonego z testu klasy.

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

Wynik:

Przykład: użycie nazwy, podstaw i dyktu w type ()

Typ można również wywołać za pomocą składni: typ (nazwa, bazy, dict).

Trzy parametry przekazane do metody type (), tj. Name, base i dict, to komponenty, które składają się na definicję klasy. Nazwa reprezentuje nazwę klasy, podstawy to klasa bazowa, a dict to słownik atrybutów klasy bazowej.

W tym przykładzie użyjemy wszystkich trzech parametrów, tj. Name, base i dict w type ().

Przykład:

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

Wynik:

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

Przekazanie wszystkich trzech argumentów do metody type () pomaga zainicjować nową klasę z atrybutami klasy bazowej.

Czym jest isinstance () w Pythonie?

Python isinstance jest częścią wbudowanych funkcji Pythona. Python isinstance () przyjmuje dwa argumenty i zwraca prawdę, jeśli pierwszy argument jest instancją informacji o klasie podanej jako drugi argument.

Składnia isinstance ()

isinstance(object, classtype)

Parametry

  • obiekt: obiekt, którego instancja porównujesz z typem klasy. Zwróci wartość true, jeśli typ pasuje do innego typu false.
  • typ klasy: typ, klasa lub krotka typów i / lub klas.

Wartość zwracana:

Zwróci wartość true, jeśli obiekt jest instancją typu clas, a false, jeśli nie.

Przykłady of isinstance ()

W tej sekcji przeanalizujemy różne przykłady, aby dowiedzieć się, czy przypadek ()

Przykład: isinstance () Sprawdzenie liczby całkowitej

Poniższy kod porównuje liczbę całkowitą 51 z typem int. Zwróci true, jeśli typ 51 dopasowań, z wartością int, w przeciwnym razie false.

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

Wynik:

age is an integer: True

Przykład: isinstance () Float check

W tym przykładzie porównamy wartość typu float z typem float, czyli wartość 3,14 zostanie porównana z typem float.

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

Wynik:

pi is a float: True

Przykład: isinstance () Sprawdź ciąg

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

Wynik:

message is a string: True

Przykład: sprawdzenie krotki isinstance ()

Kod sprawdza krotkę (1, 2, 3, 4, 5) z typem krotki. Zwróci prawdę, jeśli podane dane wejściowe są typu krotka, a fałsz, jeśli nie.

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

Wynik:

my_tuple is a tuple: True

Przykład: isinstance () Ustaw sprawdzanie

Kod sprawdza zestaw ({1, 2, 3, 4, 5}, z ustawionym typem. Zwróci prawdę, jeśli podane dane wejściowe są typu ustawione, a fałsz, jeśli nie.

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

Wynik:

my_set is a set: True

Przykład: sprawdzenie listy isinstance ()

Kod sprawdza listę [1, 2, 3, 4, 5] z listą typów. Zwróci true, jeśli podane dane wejściowe są typu list i false, jeśli nie.

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

Wynik:

my_list is a list: True

Przykład: isinstance () dict check

Kod sprawdza dict ({"A": "a", "B": "b", "C": "c", "D": "d"}, z typem dict. Zwróci prawdę, jeśli podane dane wejściowe są typu dict i false, jeśli nie.

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

Wynik:

my_dict is a dict: True

Przykład: test isinstance () na klasie

Kod pokazuje kontrolę typu klasy za pomocą isinstance (). Obiekt klasy jest porównywany z nazwą klasy wewnątrz isinstance (). Zwraca true, jeśli obiekt należy do klasy, lub false, jeśli jest inaczej.

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

Wynik:

_class is a instance of MyClass() True

Różnica między type () a isinstance () w Pythonie

rodzaj() isinstance ()
Python ma wbudowaną funkcję o nazwie type (), która pomaga znaleźć typ klasy zmiennej podanej jako dane wejściowe. Python ma wbudowaną funkcję o nazwie isinstance (), która porównuje wartość z podanym typem. Jeśli podana wartość i typ są zgodne, zwróci true, w przeciwnym razie false.
Wartość zwracana jest obiektem typu Wartość zwracana jest wartością logiczną, tj. Prawda lub fałsz.
class A:my_listA = [1,2,3]class B(A):my_listB = [1,2,3]print(type(A()) == A)print(type(B()) == A)
Wynik:
TrueFalse
W przypadku typu kontrola podklasy zwraca fałsz.
class A:my_listA = [1,2,3]class B(A):my_listB = [1,2,3]print(isinstance(A(), A))print(isinstance(B(), A))
Wynik:
TrueTrue
isinstance () podaje prawdziwą wartość, gdy jest sprawdzana z podklasą.

Podsumowanie:

  • Python ma wbudowaną funkcję o nazwie type (), która pomaga znaleźć typ klasy zmiennej podanej jako dane wejściowe. Na przykład, jeśli wejście jest ciągiem, otrzymasz wynik jako , dla listy będzie to , itd.
  • Dla type () możesz przekazać pojedynczy argument, a zwracana wartość będzie klasowym typem podanego argumentu, np. Type (object).
  • Możliwe jest również przekazanie trzech argumentów do type (), tj. Type (name, bases, dict), w takim przypadku zwróci on nowy obiekt typu.
  • Python ma wbudowaną funkcję o nazwie instance (), która porównuje wartość z podanym typem. Jeśli podana wartość i typ są zgodne, zwróci true, w przeciwnym razie false. Używając isinstance (), możesz testować string, float, int, list, tuple, dict, set, class itd.
  • Używając metody isinstance (), możesz testować ciąg, float, int, list, tuple, dict, set, class itp.