Fonction delattr() de Python
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
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 :
- 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}
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.
Fonctions intégrées de Python3
Autres extensions