Python Hasattr

Python Hasattr
Python ist eine hochrangige, fortschrittliche, englische Sprache wie Syntax, leicht zu lernen Programmiersprache. Es verfügt über verschiedene Arten von Funktionen, Methoden, die meistens integriert sind, während einige zur Laufzeit gestaltet werden können. Der HasAttr () ist der integrierte Nutzfunktion eines Python, der als 'ein Attribut hat.'Es kann mit benutzerdefinierten Klassen verwendet werden. Es bestimmt, ob ein Objekt ein spezifisches Attribut hat oder nicht. Zum Beispiel gibt es True zurück, wenn ein bestimmtes Objekt über das angegebene Attribut verfügt, während es false zurückgibt, wenn es kein angegebenes Objekt hat. Die Syntax von HasAttr () ist HasAttr (Objekt, Attribut).

Der HasAttr () ist die Funktion selbst, 'Objekt' bezieht sich auf das erforderliche Objekt, 'Attribut' auf den Namen des angegebenen Attributs, das überprüft werden muss. Wenn das 'Objekt' das 'Attribut' hat, wird HasAttr () true ansonsten zurückgeben, es gibt false zurück. Die Funktion hasAttr () bietet eine bessere Lesbarkeit im Vergleich zu anderen herkömmlichen Python -Methoden zur Überprüfung des Attributwerts. Es ist auch hilfreich bei der Überprüfung von Schlüsseln, um unnötige Fehler zu ignorieren. Mit Hilfe von Beispielen lernen wir, wie die HasAttr () -Methode der Python -Sprache in diesem Artikel verwendet wird. Bis zum Ende dieses Artikels können Sie die Funktion hasAttr () in Ihren Skripten effektiv verwenden. Beginnen wir mit einer grundlegenden Illustration.

Beispiel 1:

Im ersten Beispiel werden wir eine einfache Klasse definieren, die den Namen eines Schülers und der Klasse enthält, in der das Schüler studiert. Danach werden wir die Attribute der Klasse mit der Funktion hasAttr () überprüfen. Eine benutzerdefinierte Klasse wird mit dem Namen "Schüler" erstellt, das erste Attribut ist "Klasse" und hat einen Wert "5", während das zweite Attribut "Name" ist und Value "-Tylor hat.'Der nächste Schritt besteht darin, die Attribute der Klasse mit der Funktion hasAttr () zu überprüfen. Zuerst haben wir das Attribut "Name" der Klasse, dann das Attribut "Klasse" und dann das Attribut "Fathername" überprüft. Hier können Sie den Code anzeigen.

Klassenstudent:
Klasse = 5
Name = 'Tylor'
Student = Student ()
print ('Der Name des Schülers lautet:', Hasattr (Student, 'Name'))
Print ('Student' Klasse lautet: ', Hasattr (Student,' Klasse '))
print ('student' Vater Name ist: ', hasattr (Student,' Fathername '))

Die Ausgabe des obigen Codes lautet wie folgt:

Wenn Sie feststellen, dass die ersten beiden Ausgänge wahr sind.'Im Gegensatz dazu ist die letzte Ausgabe' falsch."Wie bereits erwähnt, wird der HasSttr ()" True "zurückgeben, wenn ein bestimmtes Objekt ein bestimmtes angegebenes Objekt hat. Im Gegensatz dazu gibt es "falsch" zurück, wenn das bestimmte Objekt kein bestimmtes angegebenes Objekt hat. Die Klasse "Schüler" hat zwei Attribute "Klasse", "Name", obwohl es nicht das Attribut "Fathername" hat, weshalb die Funktion hasAttr () in diesem Fall "False" zurückgibt.

Beispiel 2:

Sehen wir uns einige komplizierte und dennoch strukturierte Programme an, um sich mit der Funktionalität der Hasattr () -Funktion vertraut zu machen. Hier haben wir eine Klasse unter Verwendung der Funktion def_init_ () definiert. Die Klasse besteht erneut aus den Daten der Schüler. Es hat zwei Attribute, "Rollno" und "Noten".'Die Daten werden für beide Attribute der Klasse bereitgestellt, indem der Klassenname aufgerufen wird. Student (35, 'M'), wobei '35' das 'Rollno' und 'M' die Note des Schülers ist. Später fügten wir ein weiteres Attribut in der Klasse hinzu: das Alter des Schülers. Dies können wir erreichen, indem wir eine andere Instanz der Klasse mit einem anderen angegebenen Namen erstellen. Zum Beispiel Student1 = Student () und Student1.Alter = 9. Siehe den unten angegebenen Code, um ein klares Verständnis des Programms zu erhalten.

Klassenstudent:
Def __init __ (Selff, Rollno, Noten):
Selff.rollno = rollno
Selff.Noten = Noten
Def Display (SELFF):
print ("Die Rollnummer ist:", Selff.Rollno)
print ("Die Note ist:", Selff.Noten)
Student1 = Student (35, 'M')
Student1.Alter = 9
Print (Hasattr (Student1, 'Alter'))

Die Ausgabe des obigen Codes lautet wie folgt:

Wie Sie sehen können, hat die Funktion hasAttr () "wahr" zurückgegeben, da das Attribut "Alter" in späteren Schritten zur Klasse hinzugefügt wird.

Beispiel 3:

Lassen Sie uns eine Leistungsanalyse der Funktion hasAttr () im Vergleich zur Versuchserklärung haben. In diesem Beispiel werden wir sehen, welches besser ist. Lassen Sie uns zuerst den Code und die Ausgabe sehen, und dann werden wir sehen, welches besser ist als der andere.

Importzeit
Klassenvergleich:
name = "hasAttribute"
Zeit = 5
comp = Vergleich ()
STARTHASATTR = Zeit.Zeit()
if (hasattr (comp, 'time')):
print ("Zeit ist da")
anders:
print ("keine Zeit")
Print ("Der HasAttr () hat sich die Zeit genommen, auszuführen:" + str (Zeit.time () - starthasattr))
Starttry = Zeit.Zeit()
versuchen:
drucken (comp.Zeit)
print ("Zeit ist da")
außer AttributeError:
print ("keine Zeit")
Print ("Die Anweisung für die Versuche hat sich die Zeit für die Ausführung in Anspruch genommen:" + str (Zeit.time () - starttry))

Wie Sie sehen können, hat der Klasse "Vergleich" zwei Attribute, "Name" und "Zeit."Erstens haben wir die Funktion hasAttr () implementiert, um zu überprüfen. Dann haben wir die Ausführungszeit sowohl von HasAttr () -Funktionen überprüft und mit Hilfe der Zeit () -Funktion eine Anweisung ausprobiert. Die Ausgabe des obigen Codes ist unten angegeben:

Beachten."Der entscheidende Punkt, den wir hier bemerken müssen, ist, dass wir in HasAttr ()" Zeit "überschritten haben. Python ist eine Fallempfindlichkeit, also sind "Zeit" und "Zeit" zwei verschiedene Attribute. Wenn Sie die Ausführungszeit sehen, werden Sie außerdem feststellen. Die Funktion hasAttr () bietet jedoch eine bessere Lesbarkeit, weshalb HasAttr () immer noch vor der Versuchserklärung bevorzugt wird.

Abschluss:

Wir haben in diesem Artikel die integrierte Python-Hasattr () -Funktion kennengelernt. Mit Hilfe einfacher und komplexer Beispiele haben wir gelernt. Darüber hinaus haben wir die Ausführungszeit von HasAttr () mit der Aussage -Anweisung verglichen, die bewiesen hat, dass die Aussage -Anweisung zwar schnell ist, die Funktion hasAttr () aufgrund ihrer verbesserten Lesbarkeit bevorzugt wird.