er et af de mest kraftfulde programmeringssprog, der findes på markedet i dag. Python understøtter også implementering af andre programmeringssprog inden for sit økosystem som Java, C såvel som C ++. Ud af de mange moduler og funktioner, der er tilgængelige i Python-økosystemet, er en sådan, der skiller sig ud blandt resten, instansen i Python. Således i denne artikel vil vi tale detaljeret om isinstansen, dens anvendelser og de funktioner, den bringer til bordet.
Følgende punkter vil blive dækket i denne artikel,
- Hvad er Isinstance i Python?
- Parameter og returværdi af Isinstance
- Brug af Type i Python
- Forskel mellem Type () og Isinstance
Hvad er Isinstance i Python?
Python-instansen bruges til at kontrollere, om det første objekt, der er argumentet, er en forekomst eller underklasse af classinfo-klassen, der er det andet argument.
Syntaksen for isinstansen i Python er som følger.
java bryder ud af metoden
isinstance (objekt, klasseinfo)
Lad os se, hvilke parametre og returværdi har Isinstance i Python,
Parameter og returværdi af Isinstance
Parameter
Nu hvor du er opmærksom på syntaksen for isinstance, skal vi se nærmere på den parameter, den tager højde for.
- Objekt: Dette er det objekt, der skal kontrolleres.
- Classinfo: Dette er klassen, info eller klassen af klasser, som objektet skal kontrolleres mod.
Returneringsværdi
Når instansen bruges i et program, afhænger returværdien af et antal forhold som forklaret i nedenstående henvisninger.
- True returneres, hvis objektet er en underklasse af classinfo eller tuple of classes.
- Falsk returneres, hvis objektet ikke er en underklasse af classinfo eller tuple of classes.
Hvis classinfo i en bestemt situation ikke er en type eller en slags slags, hæves en typefejlundtagelse på brugerens skærm.
Eksempler
For at forstå brugen af isinstance bedre, lad os se på et par eksempler.
Eksempel nr. 1
klasse Foo: a = 5 fooInstance = Foo () print (isinstance (fooInstance, Foo)) print (isinstance (fooInstance, (list, tuple))) print (isinstance (fooInstance, (list, tuple, Foo)))
Produktion
Sand
Falsk
Sand
Isinstance In Python: Eksempel # 2
numbers = [1, 2, 3] result = isinstance (numbers, list) print (numbers, 'instance of list?', result) result = isinstance (numbers, dict) print (numbers, 'instance of dict?', result ) resultat = isinstans (tal, (dict, liste)) print (tal, 'forekomst af dict eller liste?', resultat) nummer = 5 resultat = isinstance (nummer, liste) print (nummer, 'eksempel på liste?', resultat) resultat = isinstans (nummer, int) udskrivning (nummer, 'forekomst af int?', resultat)
Produktion
[1, 2, 3] forekomst af listen? Sand
hvad der er overmontering i maskinlæring
[1, 2, 3] forekomst af dict? Falsk
[1, 2, 3] forekomst af dict eller liste? Sand
5 forekomst af listen? Falsk
5 forekomst af int? Sand
Eksempel 3
# Python-kode for isinstance () klasse Test: a = 5 TestInstance = Test () print (isinstance (TestInstance, Test)) print (isinstance (TestInstance, (list, tuple))) print (isinstance (TestInstance, (list, tuple) , Test)))
Produktion
Sand
Falsk
Sand
Lad os fortsætte med 'Isinstance In Python' artiklen og forstå brugen af Type-metoden,
Brugen af Type in Python
I lighed med isinstance er der en anden indbygget metode i Python, som bruges til at kontrollere typen pf-variabel, der bruges under kørsel. Hvis et enkelt argument eller objekt sendes gennem typemetoden, returnerer den typen af objektet, der bruges i løbetid.
For at forstå dette bedre skal du kigge på eksemplet nedenfor.
Isinstance In Python: Eksempel # 1.1
# Pythonkodetype () med en enkelt objektparameter x = 5 s = 'sampleoutput' y = [1,2,3] print (type (x)) print (type (s)) print (type (y))
Produktion
klasse 'int'
klasse 'str'
klasse 'liste'
Eksempel # 1.2
# Python-kode for type () med et navn, # baser og dict-parameter o1 = type ('X', (objekt,), dict (a = 'Foo', b = 12)) print (type (o1)) print (vars (o1)) klassetest: a = 'Foo' b = 12 o2 = type ('Y', (test,), dict (a = 'Foo', b = 12)) print (type (o2)) udskrive (vars (o2))
Produktion
{'B': 12, 'a': 'Foo', '__dict__':, '__doc__': Ingen, '__weakref__':}
{‘B’: 12, ‘a’: ‘Foo’, ‘__doc__ ': Ingen}
Lad os sammenligne Type og Isinstance i Python,
Forskel mellem Type () og Isinstance
Type og isinstance i Python tjener to meget forskellige funktioner. Se på nedenstående tip for at forstå forskellen mellem dem bedre.
- Hvis du har brug for at kontrollere, om et objekt har en bestemt type, er det bedst at bruge isinstance. Dette skyldes, at isinstansen vil være i stand til at kontrollere, om det objekt, der sendes i det første argument, er af samme type som det, der blev sendt i det andet argument.
- På den anden side er brugen af type mere foretrukket, når du skal kontrollere typen af et bestemt objekt og ikke sammenligne det med et andet.
Eksempel
#Python-kode for at illustrere andeattypningsklasse Bruger (objekt): def __init __ (selv, fornavn): self.firstname = fornavn @property def name (self): return self.firstname class Animal (object): pass class Fox (Animal) : name = 'Fox' class Bear (Animal): name = 'Bear' # Brug .name-attributten (eller egenskaben) uanset typen for en i [Bruger ('SampleOutput'), Fox (), Bear ()] : udskriv (a.name)
Produktion
Eksempel på output
Ræv
Bjørn
En anden grund til ikke at bruge typemetoden er manglen på arv. Se eksemplerne nedenfor for at forstå dette bedre.
Opret ec2-forekomst fra øjebliksbillede
#python-kode for at illustrere manglen på #support til arv i type () klasse MyDict (dict): '' 'En normal dict, der altid oprettes med en' initial 'nøgle' '' def __init __ (selv): selv [ 'initial'] = 'nogle data' d = MyDict () print (type (d) == dict) print (type (d) == MyDict) d = dict () print (type (d) == dict) print (type (d) == MyDict)
Produktion
Falsk
Sand
Sand
Falsk
Så det er det, dette bringer os til slutningen af denne artikel. Jeg håber, du har forstået Isinstance i Python, og hvad det gør.
For at få dybdegående viden om Python sammen med dens forskellige applikationer kan du til live online træning med support døgnet rundt og adgang til hele livet.
Har du et spørgsmål til os? Nævn dem i kommentarfeltet i denne artikel, så vender vi tilbage til dig.