type() og isinstance() i Python med eksempler
Hva er type() i Python?
Python har en innebygd funksjon kalt type() som hjelper deg รฅ finne klassetypen til variabelen gitt som input. For eksempel, hvis inngangen er en streng, vil du fรฅ utgangen som , for listen, vil det vรฆre , osv.
Ved รฅ bruke type()-kommandoen kan du sende et enkelt argument, og returverdien vil vรฆre klassetypen til argumentet som er gitt, eksempel: type(objekt).
Det er ogsรฅ mulig รฅ sende tre argumenter til type(), dvs. type(navn, baser, dict), i slike tilfeller vil det returnere et nytt typeobjekt.
Syntaks for type()
type() kan brukes pรฅ to mรฅter som vist nedenfor:
type(object) type(namr, bases, dict)
Parametre: type(objekt)
- objekt: Dette er en obligatorisk parameter. Hvis dette kun er parameter som sendes til type(), vil den returnere parametertypen.
Parametre: type(navn, baser, dikt)
- navn:navn pรฅ klassen.
- baser: (valgfritt). Dette er en valgfri parameter, og det er basisklassen
- dict: (valgfritt). Dette er en valgfri parameter, og det er et navneomrรฅde som har definisjonen av klassen.
Returverdi
Hvis objektet er den eneste parameteren som sendes til type(), vil det returnere typen til objektet.
Hvis parameterne som sendes til type er en type (objekt, baser, dict), vil den i slike tilfeller returnere en ny type objekt.
Eksempel pรฅ type()
I dette eksemplet har vi en strengverdi, tall , flyteverdi, et komplekst tall, liste, tuppel , dict og sett. Vi vil bruke variablene med type for รฅ se utdataene for hver av dem.
str_list = "Welcome to Guru99"
age = 50
pi = 3.14
c_num = 3j+10
my_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))
Utgang:
The type is :<class 'str'> The type is :<class 'int'> The type is :<class 'float'> The type is :<class 'complex'> The type is :<class 'list'> The type is :<class 'tuple'> The type is :<class 'dict'> The type is :<class 'set'>
Eksempel: Bruk av type() for klasseobjekt.
Nรฅr du sjekker objektet som er opprettet fra en klasse ved hjelp av type(), returnerer det klassetypen sammen med navnet pรฅ klassen. I dette eksemplet vil vi lage en klasse og sjekke objekttypen som er opprettet fra klassetesten.
class test:
s = 'testing'
t = test()
print(type(t))
Utgang:
<class '__main__.test'>
Eksempel: Bruk av navn, baser og dikt i type()
Typen kan ogsรฅ kalles ved รฅ bruke syntaksen: type(navn, baser, dikt).
De tre parameterne som sendes til type()ie, navn, baser og dict er komponentene som utgjรธr en klassedefinisjon. Navnet representerer klassenavnet, basene er basisklassen, og dict er ordboken over basisklasseattributter.
I dette eksemplet skal vi bruke alle tre parametere, dvs. navn, baser og dict i type().
Eksempel:
class MyClass:
x = 'Hello World'
y = 50
t1 = type('NewClass', (MyClass,), dict(x='Hello World', y=50))
print(type(t1))
print(vars(t1))
Utgang:
<class 'type'>
{'x': 'Hello World', 'y': 50, '__module__': '__main__', '__doc__': None}
Nรฅr du sender alle tre argumentene til type() , hjelper det deg รฅ initialisere ny klasse med basisklasseattributter.
Hva er isinstance() i Python?
Python isinstance er en del av python innebygde funksjoner. Python isinstance() tar inn to argumenter, og den returnerer true hvis det fรธrste argumentet er en forekomst av classinfo gitt som det andre argumentet.
Syntaks isinstance()
isinstance(object, classtype)
Parametre
- objekt: Et objekt hvis forekomst du sammenligner med klassetype. Det vil returnere sant hvis typen samsvarer med ellers usann.
- klassetype: En type eller en klasse eller en tuppel av typer og/eller klasser.
Returverdi
Det vil returnere true hvis objektet er en forekomst av classtype og usant hvis ikke.
Eksempler pรฅ isinstance()
I denne delen vil vi studere ulike eksempler for รฅ lรฆre isinstance()
Eksempel: isinstance() Heltallssjekk
Koden nedenfor sammenligner heltallsverdi 51 med type int. Det vil returnere sant hvis typen 51 samsvarer med int ellers usann.
age = isinstance(51,int)
print("age is an integer:", age)
Utgang:
age is an integer: True
Eksempel: isinstance() Float check
I dette eksemplet skal vi sammenligne float-verdien med type float, dvs. 3.14-verdien vil sammenlignes med type float.
pi = isinstance(3.14,float)
print("pi is a float:", pi)
Utgang:
pi is a float: True
Eksempel: isinstance() String check
message = isinstance("Hello World",str)
print("message is a string:", message)
Utgang:
message is a string: True
Eksempel: isinstance() Tuppelsjekk
Koden sjekker for en tuppel (1,2,3,4,5) med type tuppel. Det vil returnere sant hvis inndataene er av typen tuple og usant hvis ikke.
my_tuple = isinstance((1,2,3,4,5),tuple)
print("my_tuple is a tuple:", my_tuple)
Utgang:
my_tuple is a tuple: True
Eksempel: isinstance() Sett sjekk
Koden sjekker for et sett ({1,2,3,4,5},med typesett. Den vil returnere sant hvis inndataene som er gitt er av typen sett og usann hvis ikke.
my_set = isinstance({1,2,3,4,5},set)
print("my_set is a set:", my_set)
Utgang:
my_set is a set: True
Eksempel: isinstance() listesjekk
Koden ser etter en liste [1,2,3,4,5]med typeliste. Det vil returnere sant hvis inndataene er av typen liste og usann hvis ikke.
my_list = isinstance([1,2,3,4,5],list)
print("my_list is a list:", my_list)
Utgang:
my_list is a list: True
Eksempel: isinstance() dict check
Koden ser etter en dict({โAโ:โaโ, โBโ:โbโ, โCโ:โcโ, โDโ:โdโ},med typen dict. Den vil returnere true hvis inndataene som er gitt er av typen dict og false hvis ikke.
my_dict = isinstance({"A":"a", "B":"b", "C":"c", "D":"d"},dict)
print("my_dict is a dict:", my_dict)
Utgang:
my_dict is a dict: True
Eksempel: isinstance() test pรฅ en klasse
Koden viser typesjekken til klassen med isinstance() . Objektet til klassen sammenlignes med navnet pรฅ klassen inne i isinstance(). Den returnerer true hvis objektet tilhรธrer klassen og usant ellers.
class MyClass:
_message = "Hello World"
_class = MyClass()
print("_class is a instance of MyClass() : ", isinstance(_class,MyClass))
Utgang:
_class is a instance of MyClass() True
Forskjellen mellom type() og isinstance() i Python
| type() | isinstance () |
|---|---|
| Python har en innebygd funksjon kalt type() som hjelper deg รฅ finne klassetypen til variabelen gitt som input. | Python har en innebygd funksjon kalt isinstance() som sammenligner verdien med typen gitt. Hvis verdien og typen som er gitt samsvarer, vil den returnere true ellers usant. |
| Returverdien er et typeobjekt | Returverdien er en boolsk, dvs. sann eller usann. |
class A: my_listA = [1,2,3] class B(A): my_listB = [1,2,3] print(type(A()) == A) print(type(B()) == A) Utgang: True False I tilfelle av type gir underklassesjekken falsk tilbake. |
class A: my_listA = [1,2,3] class B(A): my_listB = [1,2,3] print(isinstance(A(), A)) print(isinstance(B(), A)) Utgang: True True isinstance() gir en sannhetsverdi nรฅr den kontrolleres med en underklasse. |
Sammendrag
- Python har en innebygd funksjon kalt type() som hjelper deg รฅ finne klassetypen til variabelen gitt som input. For eksempel, hvis inngangen er en streng, vil du fรฅ utgangen som , for listen, vil det vรฆre , osv.
- For type() kan du sende et enkelt argument, og returverdien vil vรฆre klassetypen til argumentet som er gitt, f.eks. type(objekt).
- Det er ogsรฅ mulig รฅ sende tre argumenter til type(), dvs. type(navn, baser, dict), i slike tilfeller vil det returnere et nytt typeobjekt.
- Python har en innebygd funksjon kalt instance() som sammenligner verdien med typen gitt. Hvis verdien og typen som er gitt samsvarer, vil den returnere true ellers usant. Ved รฅ bruke isinstance(), kan du teste for string, float, int, list, tuple, dict, set, class, etc.
- Ved รฅ bruke isinstance()-metoden kan du teste for streng, float, int, list, tuple, dict, set, class, etc.
