Fonction hasattr() de Python

Python3 内置函数Fonctions intégrées de Python3


hasattr()C'est une fonction intégrée de Python utilisée pour vérifier si un objet possède un attribut spécifié.

hasattr()Il renvoie une valeur booléenne indiquant si l’objet contient l’attribut spécifié. Cela est très utile lors de la gestion d’attributs dynamiques ou lorsque vous devez d’abord vérifier si un attribut existe.

Définitions de mots: hasattr 是 has attribute(有属性)的缩写。


Syntaxe de base et paramètres

Format de syntaxe

hasattr(object, name)

Description du paramètre

  • Paramètre object:
    • Type : Tout objet
    • Description : L'objet à vérifier.
  • Nom du paramètre:
    • Type : String
    • Description : Le nom de l’attribut.

Description de la fonction

  • Valeur de retour: Renvoie une valeur booléenneTrueouFalse。

Exemples

Exemple 1 : Utilisation de base

Exemple

class Person:
    def __init__(self):
        self.name = "Tom"
        self.age = 20

p = Person()

# Vérifier si l’attribut existe
print(hasattr(p, "name"))    # Sortie : True
print(hasattr(p, "age"))     # Sortie : True
print(hasattr(p, "gender"))  # Sortie : False

# Vérifier la méthode
print(hasattr(p, "name"))          # Sortie : True
print(hasattr(p, "walk"))          # Sortie : False

Sortie attendue :

True
True
False
True
False

Explication du code :

  1. hasattr() vérifie si un objet possède l’attribut spécifié.

Exemple 2 : Utilisation de getattr

Exemple

# Obtenir l’attribut en toute sécurité
class Config:
    def __init__(self):
        self.debug = True
        self.port = 8080

config = Config()

# Vérifier d'abord, puis récupérer
if hasattr(config, "debug"):
    print(f"debug: {config.debug}")

if hasattr(config, "timeout"):
    print(f"timeout: {config.timeout}")
else:
    print("timeout n'existe pas, utilisation de la valeur par défaut")
    # Sortie : timeout n'existe pas, utilisation de la valeur par défaut

# Vérification dynamique
attrs = ["debug", "port", "host"]
for attr in attrs:
    if hasattr(config, attr):
        print(f"{attr}: {getattr(config, attr)}")

Sortie :

L'exécution dans un environnement réel affichera le résultat de la vérification.

hasattr()Souvent utilisé avecgetattr()en conjonction avec.


Python3 内置函数Fonctions intégrées de Python3


Autres extensions