வகுப்பு முறைகள்
முறைகள் ஒரு வகுப்பைச் சேர்ந்த செயல்பாடுகள். அவை வகுப்பிலிருந்து உருவாக்கப்பட்ட பொருள்களின் நடத்தையை வரையறுக்கின்றன.
எடுத்துக்காட்டு
ஒரு வகுப்பில் முறையை உருவாக்கு:
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)
பயிற்சி
குறியீட்டை வழங்குவதற்கு விடுபட்ட பகுதிகளைச் செருகவும்: John(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)