কম্পিউটার টিউটোরিয়াল

পাইথনে ক্লাস বা স্ট্যাটিক ভেরিয়েবল


যখন আমরা একটি ক্লাসের ভেতরে কিন্তু কোনো মেথডের বাইরে একটি ভেরিয়েবল ডিক্লেয়ার করি, তাকে পাইথনে ক্লাস বা স্ট্যাটিক ভেরিয়েবল বলা হয়। ক্লাস বা স্ট্যাটিক ভেরিয়েবলকে ক্লাসের মাধ্যমে রেফার করা যায় কিন্তু সরাসরি ইনস্ট্যান্সের মাধ্যমে নয়।

ক্লাস বা স্ট্যাটিক ভেরিয়েবল আপার সেম নামের অন্য মেম্বার ভেরিয়েবলের সাথে সম্পূর্ণ ভিন্ন এবং কোনো কনফ্লিক্ট করে না। নিচে ক্লাস বা স্ট্যাটিক ভেরিয়েবল ব্যবহারের একটি প্রোগ্রাম দেওয়া হলো:

উদাহরণ

class Fruits(object):
    count = 0
    def __init__(self, name, count):
        self.name = name
        self.count = count
        Fruits.count = Fruits.count + count

def main():
    apples = Fruits("apples", 3)
    pears = Fruits("pears", 4)
    print(apples.count)
    print(pears.count)
    print(Fruits.count)
    print(apples.__class__.count)  # This is Fruit.count
    print(type(pears).count)       # So is this

if __name__ == '__main__':
    main()

ফলাফল

3
4
7
7
7

ক্লাস লেভেলে ডিফাইন করা ভেরিয়েবল ব্যবহারের আরেকটি উদাহরণ:

উদাহরণ

class example:
    staticVariable = 9
    # Access through class
    print(example.staticVariable)  # Gives 9
    # Access through an instance
    instance = example()
    print(instance.staticVariable)  # Again gives 9
    # Change within an instance
    instance.staticVariable = 12
    print(instance.staticVariable)  # Gives 12
    print(example.staticVariable)   # Gives 9

আউটপুট

9
9
12
9

  1. পাইথনে ইনহেরিটেন্স (Inheritance)

  2. পাইথনে ক্লাস মেথড বনাম স্ট্যাটিক মেথড

  3. পাইথন ক্লাসে স্ট্যাটিক মেথড কী?

  4. পাইথনে ক্লাস ভেরিয়েবল ডিফাইন করার সঠিক পদ্ধতি কী?