В Python, в момент создания объекта и установки любого атрибута, вы можете получить к нему доступ __dict__
, поэтому, когда вы установили class
, вы установили два атрибута, чтобы они сохранялись в __dict__
Это означает, что вы можете легко получить к ним доступ, изменить их и так далее через __dict__
.
Позвольте мне показать вам пример, посмотрите:
class MyClass:
def __init__(self, list_a, list_b):
self.list_a = list_a
self.list_b = list_b
def print_list_b(self):
print(f'list_b = {self.list_b}')
if __name__ == "__main__":
list_a = [1, 2, 3]
list_b = ["a", "b", "c"]
p1 = MyClass(list_a,list_b)
p1.print_list_b() #Output: list_b = ['a', 'b', 'c']
print(p1.__dict__) #Output: {'list_a': [1, 2, 3], 'list_b': ['a', 'b', 'c']}
attr_list_b = p1.__dict__['list_b'] #Getting list_b
print(attr_list_b) #Output: ['a', 'b', 'c']
attr_list_b[2] = "X" #Modifying list_b
print(attr_list_b) #Output: ['a', 'b', 'X']
p1.print_list_b() #Output: list_a = ['a', 'b', 'X']
Как вы можете видеть, мы можно легко изменить поведение наших классов с помощью __dict__
.
. Для лучшего понимания __dict__
я предлагаю вам прочитать об этом в этом ответе здесь .
ПРИМЕЧАНИЕ: ВЫ МОЖЕТЕ ИСПОЛЬЗОВАТЬ ВСЕ СЛОВАРНЫЕ МЕТОДЫ ЧЕРЕЗ __dict__
, ПОТОМУ ЧТО ЭТО СЛОВАРЬ.
Может помочь вам, пока!