class MyClass(object):
class_var = 1
def __init__(self, i_var):
self.i_var = i_var
foo = MyClass(2)
bar = MyClass(3)
print MyClass.__dict__
print foo.__dict__
print bar.__dict__
class DogClass:
def __init__(self,name,color):
self.name = name
self.color = color
def bark(self):
if self.color == "black":
return True
else:
return False
dc = DogClass('rudra','white')
print(dc.__dict__)
# Output: {'name': 'rudra', 'color': 'white'}
DogClass.__dict__
{'__module__': '__main__', 'class_var': 1, '__dict__': <attribute '__dict__' of 'MyClass' objects>, '__weakref__': <attribute '__weakref__' of 'MyClass' objects>, '__doc__': None, '__init__': <function __init__ at 0x0000000004E55CF8>}
{'i_var': 2}
{'i_var': 3}
shared variable
{'__module__': '__main__', 'class_var': 'shared variable', '__dict__': <attribute '__dict__' of 'Demo' objects>, '__weakref__': <attribute '__weakref__' of 'Demo' objects>, '__doc__': None}
# __dict__
class A:
class_var = 1
def __init__(self) -> None:
self.a = 2
self.b = 3
a = A()
print(a.__dict__.items())
# dict_items([('a', 2), ('b', 3)])
print(A.__dict__.items())
# dict_items([('__module__', '__main__'), ('class_var', 1),
# ('__init__', <function A.__init__ at 0x00000197277BE320>),
# ('__dict__', <attribute '__dict__' of 'A' objects>),
# ('__weakref__', <attribute '__weakref__' of 'A' objects>), ('__doc__', None)])