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}

python – Explain __dict__ attribute

Leave a Reply

Your email address will not be published. Required fields are marked *