python – Explain __dict__ attribute
python – Explain __dict__ attribute
Basically it contains all the attributes which describe the object in question. It can be used to alter or read the attributes.
Quoting from the documentation for __dict__
A dictionary or other mapping object used to store an objects (writable) attributes.
Remember, everything is an object in Python. When I say everything, I mean everything like functions, classes, objects etc (Ya you read it right, classes. Classes are also objects). For example:
def func():
pass
func.temp = 1
print(func.__dict__)
class TempClass:
a = 1
def temp_function(self):
pass
print(TempClass.__dict__)
will output
{temp: 1}
{__module__: __main__,
a: 1,
temp_function: <function TempClass.temp_function at 0x10a3a2950>,
__dict__: <attribute __dict__ of TempClass objects>,
__weakref__: <attribute __weakref__ of TempClass objects>,
__doc__: None}