Fonction delattr() de Python

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


delattr()est une fonction intégrée de Python utilisée pour supprimer les attributs d'un objet.

delattr()Il peut supprimer l'attribut spécifié d'un objet. Similaire àdell'instruction del, mais permet de spécifier dynamiquement l'attribut à supprimer via une chaîne de caractères.

Définitions de mots: delattr 是 delete attribute(删除属性)的缩写。


Syntaxe de base et paramètres

Format de syntaxe

delattr(object, name)

Description du paramètre

  • Paramètre object:
    • Type : Tout objet
    • Description : L'objet dont l'attribut doit être supprimé.
  • Nom du paramètre:
    • Type : String
    • Description : Le nom de l'attribut à supprimer.

Description de la fonction

  • Valeur de retour: Aucune valeur de retour.
  • Exception: Si l'attribut n'existe pas, une AttributeError sera levée.

Exemples

Exemple 1 : Utilisation de base

Exemple

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

p = Person()
print(vars(p))
# Sortie : {'name': 'Tom', 'age': 20, 'city': 'Beijing'}

# Supprimer l'attribut
delattr(p, "age")
print(vars(p))
# Sortie : {'name': 'Tom', 'city': 'Beijing'}

# Équivalent à del p.age

Sortie attendue :

{'name': 'Tom', 'age': 20, 'city': 'Beijing'}
{'name': 'Tom', 'city': 'Beijing'}

Analyse du code :

  1. delattr(p, "age") est équivalent à del p.age.

Exemple 2 : Suppression dynamique

Exemple

class Data:
    def __init__(self):
        self.a = 1
        self.b = 2
        self.c = 3

d = Données()
print(vars(d))

# Supprimer dynamiquement les attributs
attrs_to_delete = ["a", "c"]
for attr in attrs_to_delete:
    if hasattr(d, attr):
        delattr(d, attr)

print(vars(d))  # Sortie : {'b': 2}

Sortie :

Plusieurs attributs peuvent être supprimés dynamiquement.

delattr()Avechasattr()il est plus sûr de l'utiliser.


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


Autres extensions