ক্লাস ভেরিয়েবল vs ইনস্ট্যান্স ভেরিয়েবল
পাইথনে ক্লাস __init__ ফাংশনের বাইরের সকল ভেরিয়েবল ক্লাস ভেরিয়েবল এবং ভেতরের সকল ভেরিয়েবল ইনস্ট্যান্স ভেরিয়েবল। ক্লাস ভেরিয়েবল এবং ইনস্ট্যান্স ভেরিয়েবলের পার্থক্য নিচের কোড পরীক্ষা করলে ভালোভাবে বোঝা যাবে
উদাহরণ
class MyClass:
stat_elem = 456
def __init__(self):
self.object_elem = 789
c1 = MyClass()
c2 = MyClass()
# Initial values of both elements
>>> print c1.stat_elem, c1.object_elem
456 789
>>> print c2.stat_elem, c2.object_elem
456 789
# Let's try changing the static element
MyClass.static_elem = 888
>>> print c1.stat_elem, c1.object_elem
888 789
>>> print c2.stat_elem, c2.object_elem
888 789
# Now, let's try changing the object element
c1.object_elem = 777
>>> print c1.stat_elem, c1.object_elem
888 777
>>> print c2.stat_elem, c2.object_elem
888 789