Académique Documents
Professionnel Documents
Culture Documents
(__and__,__dir__,__hash__,__repr__)
la méthode _and_:
définition:
En Python, la méthode magique __and__ est utilisée
pour définir le comportement de l'opérateur logique
"et" (&) pour les instances de votre classe. Cependant, il
est essentiel de comprendre que __and__ est souvent
utilisé dans le contexte des classes qui représentent des
objets avec une sémantique logique.
# Utilisation de la classe
nombre1 = NombreLogique(True)
nombre2 = NombreLogique(False)
resultat_et = nombre1 & nombre2 # Cela utilise la
méthode __and__
print(resultat_et.valeur) # Cela affiche False
Dans cet exemple, la classe NombreLogique
représente des nombres logiques (True/False). La
méthode __and__ est utilisée pour définir
comment effectuer l'opération logique "et" entre
deux objets de cette classe.
Lorsque vous utilisez l'opérateur & entre deux instances
de NombreLogique, Python appelle automatiquement la
méthode __and__ de la première instance et lui passe la
deuxième instance comme argument. Le résultat de
l'opération logique "et" est ensuite renvoyé dans un
nouvel objet de la même classe.
def __dir__(self):
# Personnaliser la liste des attributs visibles
return ["attribut1", "attribut2", "attribut3"]
# Utilisation de la classe
objet = MaClasse()
# Utilisation de la classe
objet1 = MaClasse(42)
objet2 = MaClasse(42)
def __repr__(self):
return f"MaClasse({self.valeur})"
# Utilisation de la classe
objet = MaClasse(42)
# Utilisation de la classe
nombre1 = NombreLogique(True)
nombre2 = NombreLogique(False)
def __dir__(self):
# Personnaliser la liste des attributs visibles
return ["attribut1", "attribut2", "attribut3"]
# Utilisation de la classe
objet = MaClasse()
# Appel de la fonction dir() sur l'objet
print(dir(objet))
Dans cet exemple, la méthode __dir__ est définie pour
renvoyer une liste personnalisée des attributs valides.
Lorsque la fonction dir() est appelée sur l'objet, la liste
des attributs sera celle renvoyée par la méthode
__dir__.
Il est important de noter que la personnalisation de
__dir__ doit être faite avec précaution, car elle peut
influencer les outils qui dépendent de la précision de la
sortie de dir(). Dans la plupart des cas, la méthode
__dir__ n'est pas nécessaire à moins que vous ayez une
raison spécifique de personnaliser la liste des attributs
exposés.
la méthode __hash __:
définition:
La méthode magique __hash__ en Python est utilisée
pour définir le comportement de l'objet lorsqu'il est
utilisé comme une clé dans un dictionnaire ou inséré
dans un ensemble (set). Elle doit renvoyer un entier (le
code de hachage) qui identifie l'objet.
La méthode __hash__ est utilisée par Python pour
optimiser la recherche dans des structures de données
telles que les dictionnaires et les ensembles.
class MaClasse:
def __init__(self, valeur):
self.valeur = valeur
def __hash__(self):
return hash(self.valeur)
# Utilisation de la classe
objet1 = MaClasse(42)
objet2 = MaClasse(42)
# Les objets équivalents ont le même code de hachage
print(objet1 == objet2) # True
print(hash(objet1) == hash(objet2)) # True
def __repr__(self):
return f"MaClasse({self.valeur})"
# Utilisation de la classe
objet = MaClasse(42)