Подтвердить что ты не робот

Python: объяснить атрибут __dict__

Я действительно запутался в __dict__. Я много искал, но все же я не уверен в выводе.

Может ли кто-нибудь объяснить использование этого атрибута с нуля в тех случаях, когда он используется в объекте, классе или функции?

4b9b3361

Ответ 1

В основном он содержит все атрибуты, которые описывают объект под вопросом. Его можно использовать для изменения или чтения атрибутов. Цитата из this

Словарь или другой объект сопоставления, используемый для хранения атрибутов объектов (записываемых).

Помните, что все это объект в python. Когда я говорю все, я имею в виду все как функции, классы, объекты и т.д. (Я читал это правильно, классы. Классы также являются объектами). Например,

def func():
    pass
func.temp = 1

print func.__dict__

class TempClass(object):
    a = 1
    def tempFunction(self):
        pass

print TempClass.__dict__

Выход

{'temp': 1}
{'a': 1, '__module__': '__main__', 'tempFunction': <function tempFunction at 0x7f77951a95f0>, '__dict__': <attribute '__dict__' of 'TempClass' objects>, '__weakref__': <attribute '__weakref__' of 'TempClass' objects>, '__doc__': None}