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
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: TrueFalseW 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: TrueTrueisinstance () 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.