যখন একটি ফাংশন(Function) কে একটি ক্লাসের মধ্যে ক্রিয়েট করা হয়, তখন সেই ফাংশনটিকে মেথড(Method) বলে। সহজে মনে রাখার জন্য, তুমি এইটা কে Class Function হিসেবে মনে রাখতে পারো। যাইহোক Class Function নামটি অন্য কাউকে বলার দরকার নেই।

চলো এখন Car ক্লাস এ একটি method তৈরি করি।

class Car:
    brand = "Farari"
    def hard_work(self):
        print("Race Race Race")
       

লক্ষ্য করো, এটা শুধুমাত্র একটি ক্লাসের মধ্যে তৈরি করা একটি ফাংশন। যাইহোক, তোমাকে সবসময় একটি প্যারামিটার (Parameter) দিতেই হবে। তুমি এই প্যারামিটারটি কে ব্যবহার করতেও পারো, অথবা নাও করতে পারো। সাধারণত এই Parameter টি হলো self

একটি method কে কল করতে হলে, প্রথমে class থেকে একটি object তৈরি করতে হবে। তারপর অবজেক্টটির নাম লিখে একটি ডট দিয়ে ফাংশনটিকে কল করতে হবে। self প্যারামিটারের ভ্যালু দেওয়ার প্রয়োজন নেই, পাইথন এটি তোমার জন্য করবে। Confused হওয়ার কোনো ব্যপার নেই, শিখতে শিখতে নিজেই বুঝে যাবে।

class Car:
    brand = "Farari"
    def hard_work(self):
        print("Race Race Race")
        
my_car = Car()
my_car.hard_work()

তুমি যদি একটি কিংবা তার বেশি প্যারামিটার দিতে চাও, তাহলে সেগুলো self প্যারামিটারের পরে লিখতে হবে।

class Calculator:
    brand = "Walton"
    def add (self, a,  b):
        return a + b

যখন ফাংশনটিকে কল করতে যাবে, তখন সেই self প্যারামিটার বাদে, অন্য প্যারামিটার গুলো ভ্যালু বসিয়ে দিবে।

class Calculator:
    brand = "Walton"
    def add (self, a,  b):
        return a + b
      
my_calc = Calculator()
print(my_calc.add (2,3))

Access Attribute

তুমি চাইলে self প্যারামিটার ব্যবহার করে, method এর মধ্য থেকে class এর যেকোনো Attribute বা অন্য কোনো method এর access নিতে পারো। জাস্ট, শুধু মাত্র self লিখে একটি ডট(.) দিয়ে তারপর Atrribute কিংবা method টির নাম লিখতে হবে।

class Mama:
	name = "Hablu Mama"
	def get_name(self):
		return self.name

my_mama = Mama()
print(my_mama.get_name())