ক্লাস পদ্ধতি
পদ্ধতি হল একটি শ্রেণীর অন্তর্গত ফাংশন। তারা ক্লাস থেকে তৈরি বস্তুর আচরণ সংজ্ঞায়িত করে।
উদাহরণ
একটি ক্লাসে একটি পদ্ধতি তৈরি করুন:
class Person:
def __init__(self, name):
self.name = name
def greet(self):
print("Hello, my name is " + self.name)
p1 = Person("Emil")
p1.greet()
দ্রষ্টব্য:
প্রথম প্যারামিটার হিসাবে সমস্ত পদ্ধতিselfথাকা উচিত
পরামিতি সহ পদ্ধতি
পদ্ধতিগুলি নিয়মিত ফাংশনের মতো পরামিতিগুলি গ্রহণ করতে পারে:
উদাহরণ
প্যারামিটার সহ পদ্ধতি তৈরি করুন:
class Calculator:
def add(self, a, b):
return a + b
def multiply(self, a, b):
return a * b
calc = Calculator()
print(calc.add(5, 3))
print(calc.multiply(4, 7))
পদ্ধতি বৈশিষ্ট্য অ্যাক্সেস
পদ্ধতিselfঅবজেক্টের বৈশিষ্ট্যগুলি ব্যবহার করে অ্যাক্সেস এবং পরিবর্তন করা যেতে পারে:
উদাহরণ
বস্তুর বৈশিষ্ট্য অ্যাক্সেস করার পদ্ধতি:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def get_info(self):
return f"{self.name} is {self.age} years old"
p1 = Person("Tobias", 28)
print(p1.get_info())
পদ্ধতি বৈশিষ্ট্য পরিবর্তন
পদ্ধতি একটি বস্তুর বৈশিষ্ট্য পরিবর্তন করতে পারেন:
উদাহরণ
একটি বৈশিষ্ট্য মান পরিবর্তন করার পদ্ধতি:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def celebrate_birthday(self):
self.age += 1
print(f"Happy birthday! You are now {self.age}")
p1 = Person("Linus", 25)
p1.celebrate_birthday()
p1.celebrate_birthday()
__str__() পদ্ধতি
__str__()একটি পদ্ধতি হল একটি বিশেষ পদ্ধতি যা নিয়ন্ত্রণ করে যে বস্তুটি মুদ্রিত হলে কী ফেরত দেওয়া হবে:
উদাহরণ
__str__()পদ্ধতি ছাড়া:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("Emil", 36)
print(p1)
উদাহরণ
__str__()পদ্ধতিগতভাবে:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"{self.name} ({self.age})"
p1 = Person("Tobias", 36)
print(p1)
গুরুত্বপূর্ণ:
__str__()পদ্ধতিটি সর্বদা একটি স্ট্রিং প্রদান করা উচিত। এটি বস্তুর একটি মানব-পাঠযোগ্য বর্ণনা প্রদান করতে ব্যবহৃত হয়।
অনেক পদ্ধতি
একটি ক্লাসে একাধিক পদ্ধতি থাকতে পারে যা একসাথে কাজ করে:
উদাহরণ
একটি ক্লাসে একাধিক পদ্ধতি তৈরি করুন:
class Playlist:
def __init__(self, name):
self.name = name
self.songs = []
def add_song(self, song):
self.songs.append(song)
print(f"Added: {song}")
def remove_song(self, song):
if song in self.songs:
self.songs.remove(song)
print(f"Removed: {song}")
def show_songs(self):
print(f"Playlist '{self.name}':")
for song in self.songs:
print(f"- {song}")
my_playlist = Playlist("Favorites")
my_playlist.add_song("Bohemian Rhapsody")
my_playlist.add_song("Stairway to Heaven")
my_playlist.show_songs()
মুছে ফেলার পদ্ধতি
delকীওয়ার্ড ব্যবহার করে একটি ক্লাস থেকে পদ্ধতিগুলি সরানো যেতে পারে:
উদাহরণ
ক্লাস থেকে পদ্ধতি সরান:
class Person:
def __init__(self, name):
self.name = name
def greet(self):
print("Hello!")
p1 = Person("Emil")
del Person.greet
p1.greet() # This will cause an error
দ্রষ্টব্য:
ওভাররাইড পদ্ধতি ব্যাপকভাবে ব্যবহৃত হয় না, কিন্তু ক্লাস সংজ্ঞা পরিবর্তন করার একটি উপায় প্রদান করে। সাধারণত এই সুপারিশ করা হয় না.
আরো উদাহরণ
উদাহরণ
ব্যাঙ্ক অ্যাকাউন্ট ক্লাস:
class BankAccount:
def __init__(self, account_holder, balance=0):
self.account_holder = account_holder
self.balance = balance
def deposit(self, amount):
self.balance += amount
return f"Deposited ${amount}. New balance: ${self.balance}"
def withdraw(self, amount):
if amount <= self.balance:
self.balance -= amount
return f"Withdrew ${amount}. New balance: ${self.balance}"
else:
return "Insufficient funds"
def __str__(self):
return f"Account holder: {self.account_holder}, Balance: ${self.balance}"
account = BankAccount("John", 1000)
print(account.deposit(500))
print(account.withdraw(200))
print(account)
অনুশীলন করুন
কোড দিতে অনুপস্থিত অংশ সন্নিবেশ করুন: জন(36):
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f'{self.name}({self.age})'
p1 = Person('John', 36)
print(p1)