Junior — Middle
Python lüğətində açar kimi istifadə etmək üçün öz sinfinizin nümunəsini hansı addımlarla həyata keçirmək lazımdır?
sobes.tech Süni İntellekt
AI-dan cavab
Öz öz sinifinizin nümunəsinin Python sözlüyündə açar kimi istifadə edilə bilməsi üçün, o, hash edilə bilən və müqayisə edilə bilən olmalıdır. Bunu etmək üçün, sinifdə __hash__() və __eq__() metodlarını tətbiq etmək lazımdır. __hash__ metodu obyekt üçün onun əhəmiyyətli atributlarını nəzərə alaraq unikal tam ədəd dəyərini qaytarmalıdır və __eq__ obyektlərin bərabərliyini müəyyən etməlidir.
Nümunə:
class MyKey:
def __init__(self, id):
self.id = id
def __hash__(self):
return hash(self.id)
def __eq__(self, other):
return isinstance(other, MyKey) and self.id == other.id
# İstifadə
my_dict = {}
key1 = MyKey(1)
key2 = MyKey(1)
my_dict[key1] = 'dəyər'
print(my_dict[key2]) # 'dəyər' göstərəcək, çünki key1 == key2
Əhəmiyyətlidir ki, obyektlər hash edilən atributlar baxımından dəyişməz olsun, əks halda sözlük düzgün işləməyə bilər.