Python >> Tutoriel Python >  >> Python

Python hasattr()

hasattr(object, string) intégré de Python la fonction prend un object et un string comme entrée. Il renvoie True si l'un des object 's attributs a le nom donné par le string . Sinon, il renvoie False .

Utilisation

Apprenez par l'exemple ! Voici un exemple d'utilisation du hasattr() fonction intégrée.

# Define class with one attribute
class Car:
    def __init__(self, brand):
        self.brand = brand


# Create object
porsche = Car('porsche')

# Check if porsche has attributes
print('Porsche has attribute "brand": ', hasattr(porsche, 'brand'))
print('Porsche has attribute "color": ', hasattr(porsche, 'color'))

Le résultat de cet extrait de code est :

Porsche has attribute "brand":  True
Porsche has attribute "color":  False

Il a l'attribut "marque" mais pas l'attribut "couleur" .

Vidéo hasattr()

Syntaxe hasattr()

Le hasattr() objet a la syntaxe suivante :

Syntax: 
hasattr(object, attribute)         # Does the object have this attribute?
Arguments object L'objet à partir duquel la valeur d'attribut doit être tirée.
attribute Le nom de l'attribut sous forme de chaîne.
Valeur de retour object Renvoie un booléen si le attribute string est le nom de l'un des object ses attributs.

Valeur renvoyée par hasattr()

Le hasattr(object, attribute) la méthode renvoie True , si l'objet a l'attribut et False Par ailleurs.

Exercice Shell interactif :Comprendre hasattr()

Considérez le code interactif suivant :

Exercice : Corrigez le code afin que les deux résultats de hasattr() renvoie True !


Mais avant de continuer, je suis ravi de vous présenter mon nouveau livre Python Python One-Liners (Lien Amazon).

Si vous aimez les one-liners, vous allez adorer le livre. Il vous apprendra tout ce qu'il y a à savoir sur une seule ligne de code Python. Mais c'est aussi une introduction à l'informatique , science des données, apprentissage automatique et algorithmes. L'univers en une seule ligne de Python !

Le livre est sorti en 2020 avec l'éditeur de livres de programmation de classe mondiale NoStarch Press (San Francisco).

Lien :https://nostarch.com/pythononeliners


Applications hasattr()

  • Vous pouvez utiliser hasattr() pour éviter les erreurs d'accès lors de la tentative d'accès à un attribut d'un objet dynamique.
  • Vous pouvez utiliser hasattr() dans un opérateur ternaire pour affecter conditionnellement une valeur à une variable comme dans :age = object.age if hasattr(object, 'age') else 0
  • Cependant, soyez prudent lorsque vous utilisez hasattr() car il renvoie toujours False , quel que soit le message d'erreur. Ainsi, il peut masquer une erreur différente de l'erreur qui apparaît si l'attribut n'existe pas. Ainsi, l'attribut peut bien exister mais si essayer d'y accéder provoque une erreur, le résultat sera False .

Fonctions associées

  • Le getattr() la fonction renvoie la valeur d'un attribut.
  • Le setattr() la fonction modifie la valeur d'un attribut.
  • Le hasattr() la fonction vérifie si un attribut existe.
  • Le delattr() la fonction supprime un attribut existant.

Résumé

hasattr(object, string) intégré de Python la fonction prend un object et un string comme entrée.

  • Il renvoie True si l'un des object Les attributs de ont le nom donné par string .
  • Il renvoie False sinon si l'un des object Les attributs de n'ont pas le nom donné par string .
>>> hasattr('hello', 'count')
True
>>> hasattr('hello', 'xxx')
False

Notez que hasattr() renvoie également True si la chaîne est le nom d'une méthode plutôt qu'un attribut.


J'espère que vous avez apprécié l'article! Pour améliorer votre formation Python, vous pouvez rejoindre la populaire et gratuite Finxter Email Academy :

Voulez-vous améliorer vos compétences Python d'une manière amusante et facile à consommer ? Considérez les ressources suivantes et devenez un maître codeur !


Post précédent