Python Hasattr

Python Hasattr
Python est une langue de haut niveau, avancée et anglaise comme la syntaxe, un langage de programmation facile à apprendre. Il a différents types de fonctions, méthodes, principalement intégrées, tandis que certains peuvent être conçus sur l'exécution. Le Hasattr () est une fonction utilitaire intégrée de Python abrégé comme «a un attribut.'Il peut être utilisé avec des classes définies par l'utilisateur. Il détermine si un objet a ou non un attribut spécifique. Par exemple, il renvoie True si un certain objet a l'attribut spécifié, tandis qu'il renvoie faux s'il n'a pas d'objet spécifié. La syntaxe de Hasattr () est Hasattr (objet, attribut).

Le Hasattr () est la fonction elle-même, «objet» se réfère à l'objet requis, «l'attribut» fait référence au nom de l'attribut spécifié qui doit être vérifié. Si «l'objet» a l'attribut », HasAttr () renvoie True Else, il renverra False. La fonction Hasattr () offre une meilleure lisibilité par rapport aux autres méthodes Python conventionnelles utilisées pour vérifier la valeur d'attribut. Il est également utile pour vérifier les clés pour ignorer les erreurs inutiles rencontrées tout en vérifiant les clés absentes. Avec l'aide d'exemples, nous apprendrons à utiliser la méthode Hasattr () de la langue Python dans cet article. Vous serez en mesure d'utiliser efficacement la fonction Hasattr () dans vos scripts à la fin de cet article. Commençons par une illustration de base.

Exemple 1:

Dans le premier exemple, nous définirons une classe simple qui contient le nom d'un étudiant et la classe dans laquelle l'étudiant étudie. Après cela, nous vérifierons les attributs de la classe avec la fonction Hasattr (). Une classe définie par l'utilisateur est créée avec le nom «Student».'L'étape suivante consiste à vérifier les attributs de la classe avec la fonction Hasattr (). Tout d'abord, nous avons vérifié l'attribut 'name' de la classe, puis l'attribut 'classe', puis l'attribut 'Fathername'. Ici, vous pouvez afficher le code.

Élève de classe:
Classe = 5
Name = 'tylor'
Étudiant = étudiant ()
print ('Le nom de l'étudiant est:', Hasattr (étudiant, 'name'))
Print ('Student \'s Class est:', Hasattr (Student, 'Class'))
Imprimer ('Le nom du père de l'élève est:', Hasattr (Student, 'Fathername')))

La sortie du code ci-dessus est la suivante:

Si vous observez que les deux premières sorties sont «vraies.`` En revanche, la dernière sortie est 'FAUX.«Comme discuté précédemment, le Hassttr () renvoie« vrai », si un objet spécifié a un certain objet spécifié. En revanche, il renvoie «Faux» si l'objet certain n'a pas un certain objet spécifié. La classe 'Student' a deux attributs, «classe,« nom », bien qu'il ne dispose pas de l'attribut` `Fathername '', c'est pourquoi la fonction Hasattr () renvoie« False »dans ce cas.

Exemple 2:

Examinons certains programmes compliqués mais structurés pour nous familiariser avec la fonctionnalité de la fonction Hasattr (). Ici, nous avons défini une classe en utilisant la fonction DEF_INIT_ (). La classe est à nouveau composée de données des élèves. Il a deux attributs, «Rollno» et «Grades.«Les données sont fournies aux deux attributs de la classe en appelant le nom de classe; Student (35, «M»), où «35» est le «rollno» et «m» est la note de l'étudiant. Plus tard, nous avons ajouté un autre attribut dans la classe: l'âge de l'élève. Nous pouvons réaliser ceci en créant une autre instance de la classe avec un autre nom spécifié; Par exemple, Student1 = Student () et Student1.Âge = 9. Reportez-vous au code ci-dessous pour obtenir une compréhension claire du programme.

Élève de classe:
DEF __INIT __ (Selff, Rollno, Grades):
selff.rollno = rollno
selff.grades = notes
affichage déf (Selff):
Print ("Le numéro de rouleau est:", Selff.rollno)
Print ("La note est:", Selff.notes)
Student1 = Student (35, 'M')
étudiant1.Âge = 9
Imprimer (Hasattr (Student1, «Age»))

La sortie du code ci-dessus est la suivante:

Comme vous pouvez le voir, la fonction Hasattr () a renvoyé «vrai» car l'attribut «âge» est ajouté à la classe dans les étapes ultérieures.

Exemple 3:

Ayons une analyse des performances de la fonction Hasattr () par rapport à l'instruction TRY. Dans cet exemple, nous verrons lequel est le meilleur, la fonction Hasattr () ou l'instruction TRY de la langue Python. Voyons d'abord le code et la sortie, puis nous verrons lequel est le meilleur que l'autre.

heure d'importation
Comparaison des cours:
name = "Hasattribute"
temps = 5
comp = comparaison ()
starthasattr = temps.temps()
if (hasattr (comp, 'time')):
imprimer ("le temps est là")
autre:
imprimer ("pas de temps")
Print ("Le Hasattr () a pris le temps d'exécuter:" + Str (Time.Time () - Starthasattr))
starttry = temps.temps()
essayer:
Imprimer (comp.temps)
imprimer ("le temps est là")
sauf attributError:
imprimer ("pas de temps")
Print ("L'instruction TRY a pris le temps d'exécuter:" + Str (Time.time () - starttry))

Comme vous pouvez le voir, la classe «comparaison» a deux attributs, «nom» et «temps.«Tout d'abord, nous avons implémenté la fonction Hasattr () pour vérifier si la classe« comparaison »a l'attribut« temps »ou non. Ensuite, nous avons vérifié le temps d'exécution des deux fonctions Hasattr () et TRY CONSTACTION À l'aide de la fonction Time (). La sortie du code ci-dessus est donnée ci-dessous:

Note que Hasattr () a renvoyé «FAUX», pourtant la classe «comparaison» a l'attribut.`` Le point clé à remarquer ici est que nous avons passé 'temps' dans Hasattr () tandis que la classe 'comparaison' a un attribut `` temps ''. Python est un langage sensible au cas, donc «le temps» et le «temps» sont deux attributs différents. De plus, si vous voyez le temps d'exécution, vous remarquerez que l'instruction Try est plus rapide que la fonction Hasattr (). Cependant, la fonction Hasattr () offre une meilleure lisibilité, c'est pourquoi Hasattr () est toujours préférée à l'instruction TRY.

Conclusion:

Nous avons appris la fonction intégrée Python Hasattr () dans cet article. Avec l'aide d'exemples simples et complexes, nous avons appris à implémenter la fonction Hasattr () dans nos programmes. De plus, nous avons comparé le temps d'exécution de HasAttr () avec l'instruction TRYS, qui a prouvé que bien que la déclaration d'essai soit rapide, la fonction HasAttr () est préférée en raison de sa lisibilité accrue.