is een van de krachtigste programmeertalen die momenteel op de markt verkrijgbaar zijn. Python ondersteunt ook de implementatie van andere programmeertalen binnen zijn ecosysteem, zoals Java, C en C ++. Van de vele modules en functies die beschikbaar zijn in het Python-ecosysteem, is er een die opvalt tussen de rest, de isinstance in Python. Daarom zullen we in dit artikel uitvoerig ingaan op de isinstance, het gebruik ervan en de functies die het naar de tafel brengt.
De volgende tips komen in dit artikel aan bod:
- Wat is Isinstance in Python?
- Parameter en retourwaarde van Isinstance
- Gebruik van Type in Python
- Verschil tussen Type () en Isinstance
Wat is Isinstance in Python?
De Python isinstance wordt gebruikt om te controleren of het eerste object dat het argument is, een instantie of subklasse is van de classinfo-klasse die het tweede argument is.
De syntaxis voor de isinstance in Python is als volgt.
isinstance (object, classinfo)
Laten we eens kijken welke parameters en retourwaarde Isinstance in Python heeft,
Parameter en retourwaarde van Isinstance
Parameter
Nu u op de hoogte bent van de syntaxis voor isinstance, laten we de parameter waarmee rekening wordt gehouden nader bekijken.
- Object: dit is het object dat moet worden gecontroleerd.
- Classinfo: Dit is de klasse, info of het tupel van klassen waartegen het object moet worden gecontroleerd.
Winstwaarde
Wanneer de isinstance in een programma wordt gebruikt, hangt de retourwaarde af van een aantal voorwaarden, zoals uitgelegd in de onderstaande aanwijzingen.
- Waar wordt geretourneerd als het object een subklasse is van de classinfo of een tupel van klassen.
- False wordt geretourneerd als het object geen subklasse is van de classinfo of tuple van klassen.
Als in een bepaalde situatie de classinfo geen type of een tuple van typen is, wordt een typeerror-uitzondering op het scherm van de gebruiker weergegeven.
Voorbeelden
Laten we een paar voorbeelden bekijken om het gebruik van isinstance beter te begrijpen.
Voorbeeld 1
hoe je een double converteert naar een int in java
class Foo: a = 5 fooInstance = Foo () print (isinstance (fooInstance, Foo)) print (isinstance (fooInstance, (list, tuple))) print (isinstance (fooInstance, (list, tuple, Foo)))
Uitvoer
Klopt
Vals
Klopt
Isinstance in Python: voorbeeld # 2
numbers = [1, 2, 3] resultaat = isinstance (nummers, lijst) print (getallen, 'instantie van lijst?', resultaat) resultaat = is instantie (nummers, dict) print (nummers, 'instantie van dict?', resultaat ) result = isinstance (numbers, (dict, list)) print (numbers, 'instance of dict or list?', result) number = 5 result = isinstance (number, list) print (number, 'instance of list?', resultaat) resultaat = isinstance (nummer, int) print (nummer, 'instantie van int?', resultaat)
Uitvoer
[1, 2, 3] instantie van lijst? Klopt
[1, 2, 3] instantie van dict? Vals
[1, 2, 3] instantie van dict of lijst? Klopt
5 exemplaar van lijst? Vals
5 instantie van int? Klopt
Voorbeeld # 3
# Python-code voor isinstance () class Test: a = 5 TestInstance = Test () print (isinstance (TestInstance, Test)) print (isinstance (TestInstance, (list, tuple))) print (isinstance (TestInstance, (list, tuple , Test)))
Uitvoer
Klopt
Vals
Klopt
Laten we doorgaan met het artikel ‘Isinstance In Python’ en het gebruik van de Type-methode begrijpen,
Het gebruik van Type in Python
Net als bij isinstance is er een andere ingebouwde methode in Python die wordt gebruikt om het type pf-variabele te controleren dat tijdens runtime wordt gebruikt. Als een enkel argument of object wordt doorgegeven via de methode type, retourneert het het type van het object dat tijdens runtime wordt gebruikt.
Bekijk het onderstaande voorbeeld om dit beter te begrijpen.
Isinstance in Python: voorbeeld # 1.1
# Python-code type () met een enkele objectparameter x = 5 s = 'sampleoutput' y = [1,2,3] print (type (x)) print (type (s)) print (type (y))
Uitvoer
klas ‘int’
klas ‘str’
klas ‘lijst’
naar de kracht van java
Voorbeeld # 1.2
# Python-code voor type () met een naam, # bases en dict parameter o1 = type ('X', (object,), 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)) print (vars (o2))
Uitvoer
{‘B’: 12, ‘a’: ‘Foo’, ‘__dict__’:, ‘__doc__’: None, ‘__weakref__’:}
periodiek systeem van devops-tools
{‘B’: 12, ‘a’: ‘Foo’, ‘__doc__’: None}
Laten we Type en Isinstance in Python vergelijken,
Verschil tussen Type () en Isinstance
Type en isinstance in Python hebben twee heel verschillende functies. Bekijk de onderstaande aanwijzingen om het verschil tussen beide beter te begrijpen.
- Als u moet controleren of een object een bepaald type heeft, kunt u het beste de isinstance gebruiken. Dit komt doordat de isinstance kan controleren of het object dat is doorgegeven in het eerste argument van hetzelfde type is als het object dat is doorgegeven in het tweede argument.
- Aan de andere kant heeft het gebruik van type meer de voorkeur wanneer u eenvoudig het type van een bepaald object moet controleren en niet met een ander moet vergelijken.
Voorbeeld
#Python-code om de klasse van het typen van eend te illustreren User (object): def __init __ (self, firstname): self.firstname = voornaam @property def naam (self): return self.firstname class Animal (object): pass class Fox (Animal) : name = 'Fox' class Bear (Animal): name = 'Bear' # Gebruik het .name attribuut (of eigenschap) ongeacht het type voor a in [User ('SampleOutput'), Fox (), Bear ()] : print (a.name)
Uitvoer
SampleOutput
Vos
Beer
Een andere reden om de typemethode niet te gebruiken, is het gebrek aan overerving. Bekijk de onderstaande voorbeelden om dit beter te begrijpen.
#python-code om het gebrek aan #support voor overerving in type () class MyDict (dict) te illustreren: '' 'Een normaal dictaat, dat altijd wordt gemaakt met een' initiële 'sleutel' '' def __init __ (self): self [ 'initial'] = 'enkele gegevens' d = MyDict () print (type (d) == dict) print (type (d) == MyDict) d = dict () print (type (d) == dict) print (type (d) == MyDict)
Uitvoer
Vals
Klopt
Klopt
Vals
Dus dit zijn jongens, dit brengt ons bij het einde van dit artikel. Ik hoop dat je Isinstance in Python hebt begrepen en wat het doet.
Om diepgaande kennis te krijgen van Python en de verschillende toepassingen ervan, kunt u voor live online training met 24/7 ondersteuning en levenslange toegang.
Heeft u een vraag voor ons? Noem ze in het opmerkingengedeelte van dit artikel en we nemen contact met u op.