Python >> Tutoriel Python >  >> Python

Python delattr()

delattr() intégré de Python La fonction prend un objet et un nom d'attribut comme arguments et supprime l'attribut de l'objet. L'appel delattr(object, 'attribute') est sémantiquement identique à del object.attribute .

Cet article vous montre comment utiliser le delattr() intégré de Python fonction.

Utilisation

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

Créer un Car objet avec un attribut speed .

# Define class with one attribute
class Car:
    def __init__(self):
        self.speed = 100


# Create object
porsche = Car()

Imprimer l'attribut speed :

# What's the value for attribute speed?
print(porsche.speed)
# 100

Utilisez delattr(porsche, speed) pour supprimer l'attribut speed à partir de l'objet porsche .

# Remove the attribute speed from porsche
delattr(porsche, 'speed')

Après avoir supprimé l'attribut, il n'est plus accessible :

# Does this still work?
print(porsche.speed)
# No:
'''
Traceback (most recent call last):
  File "C:\Users\xcent\Desktop\Finxter\Blog\HowToConvertBooleanToStringPython\code.py", line 18, in <module>
    print(porsche.speed)
AttributeError: 'Car' object has no attribute 'speed'
'''

Syntaxe delattr()

Le delattr() objet a la syntaxe suivante :

Syntax: 
delattr(object, attribute)         # Removes attribute from object
Arguments object L'objet dont l'attribut doit être supprimé
string L'attribut à supprimer
Valeur de retour None Renvoie Rien. Si l'attribut n'existe pas, la méthode ne fait rien.

Exercice Shell interactif :Comprendre delattr()

Considérez le code interactif suivant :

Exercice : Le code fonctionne-t-il ? Si oui, lancez-vous ! Sinon, corrigez le bug !


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


Python del contre delattr()

L'alternative au delattr() intégré de Python est d'utiliser le del mot-clé qui est également intégré.

Le delattr(object, 'attribute') est sémantiquement identique au del object.attribute appel. Notez que dans le premier cas, l'attribut est donné sous forme de chaîne, tandis que dans le second cas, l'attribut est donné sous la forme d'un nom d'attribut normal.

# Define class with one attribute
class Car:
    def __init__(self):
        self.speed = 100


# Create object
porsche = Car()

# What's the value for attribute speed?
print(porsche.speed)

# Remove the attribute speed from porsche
del porsche.speed

# Does this still work?
print(porsche.speed)

Le résultat est le même :

100
Traceback (most recent call last):
  File "C:\Users\xcent\Desktop\Finxter\Blog\HowToConvertBooleanToStringPython\code.py", line 17, in <module>
    print(porsche.speed)
AttributeError: 'Car' object has no attribute 'speed'

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é

delattr() intégré de Python La fonction prend un objet et un nom d'attribut comme arguments et supprime l'attribut de l'objet.


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