Where Are Class Properties Stored

Q

Where Are Class Properties Stored?

✍: FYIcenter.com

A

Class properties are stored in a built-in property called "__dict__" in class "type" object. The "__dict__" property is inherited from the base class "object" and managed by the Python engine.

If you ever forget what class properties are associated with a class, you can always look at the content of the built-in property "__dict__". For example:

>>> class user():
...     nextID = 1
...     def __init__(self,name="Joe",age=25):
...         self.id = user.nextID
...         self.name = name
...         self.age = age
...         user.nextID = user.nextID + 1
...
>>> user.instanceCount = 0
>>> user.__dict__
mappingproxy({'__module__': '__main__', 'nextID': 12, '__init__': <function 
use .__init__ at 0x01E37300>, 'dump': <function user.dump at 0x01E372B8>, 
'__dict__ : <attribute '__dict__' of 'user' objects>, '__weakref__': 
<attribute '__weakre __' of 'user' objects>, '__doc__': None, 
'instanceCount': 2}) 

The output shows that other information about the class is also stored in the built-in property "__dict__" of the class "type" object.

 

Defining and Using Class for New Data Types

⇒⇒Python Tutorials

2017-09-12, 116👍, 0💬