পাইথন অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং переменনълকে ক্লাস লেভেল বা ইনস্ট্যান্স লেভেলে ব্যবহার করার অনুমতি দেয়, যেখানে ভেরিয়েবলগুলো কেবল সিম্বল যা প্রোগ্রামে আপনি যে মান ব্যবহার করছেন তা নির্দেশ করে।
ক্লাস লেভেলে, ভেরিয়েবলগুলোকে ক্লাস ভেরিয়েবল বলা হয়, ইনস্ট্যান্স লেভেলের ভেরিয়েবলগুলোকে ইনস্ট্যান্স ভেরিয়েবল বলা হয়। নিচে একটি সহজ উদাহরণের মাধ্যমে ক্লাস ভেরিয়েবল এবং ইনস্ট্যান্স ভেরিয়েবল বুঝি:
# Class Shark
class Shark:
animal_type = 'fish' # Class Variable
def __init__(self, name, age):
self.name = name
self.age = age
# Creating objects of Shark class
obj1 = Shark("Jeeva", 54)
obj2 = Shark("Roli", 45)
print("Printing class variable using two instances")
print("obj1.animal_type =", obj1.animal_type)
print("obj2.animal_type =", obj2.animal_type)
# Let's change the class variable using instance variable
obj1.animal_type = "BigFish"
print("\nPrinting class variable after making changes to one instance")
print("obj1.animal_type=", obj1.animal_type)
print("obj2.animal_type =", obj2.animal_type)
উপরের প্রোগ্রামে, আমরা একটি Shark ক্লাস তৈরি করেছি এবং তারপর অবজেক্ট ব্যবহার করে ক্লাস ভেরিয়েবল পরিবর্তন করার চেষ্টা করেছি, এটি সেই নির্দিষ্ট অবজেক্টের জন্য একটি নতুন ইনস্ট্যান্স ভেরিয়েবল তৈরি করবে এবং এই ভেরিয়েবলটি ক্লাস ভেরিয়েবলকে শ্যাডো (छায়া) করবে।
আউটপুট
Printing class variable using two instances obj1.animal_type = fish obj2.animal_type = fish Printing class variable after making changes to one instance obj1.animal_type= BigFish obj2.animal_type = fish
আমাদের উপরের প্রোগ্রামটি পরিবর্তন করি যাতে সঠিক আউটপুট পাওয়া যায়:
# Class Shark
class Shark:
animal_type = 'fish' # Class Variable
def __init__(self, name, age):
self.name = name
self.age = age
# Creating objects of Shark class
obj1 = Shark("Jeeva", 54)
obj2 = Shark("Roli", 45)
print("Printing class variable using two instances")
print("obj1.animal_type =", obj1.animal_type)
print("obj2.animal_type =", obj2.animal_type)
# Let's change the class variable using instance variable
# obj1.animal_type = "BigFish"
Shark.animal_type = "BigFish"
print("New class variable value is %s, changed through class itself" % (Shark.animal_type))
print("\nPrinting class variable after making changes through instances")
print("obj1.animal_type=", obj1.animal_type)
print("obj2.animal_type =", obj2.animal_type)
ফলাফল
Printing class variable using two instances obj1.animal_type = fish obj2.animal_type = fish New class variable value is BigFish, changed through class itself Printing class variable after making changes through instances obj1.animal_type= BigFish obj2.animal_type = BigFish