Python class metodlari
Class usullari
Metodlar - bu classga tegishli funksiyalar. Ular sinfdan yaratilgan obyektlarning xatti-harakatlarini belgilaydi.
Misol
Sinfda usul yarating:
class Person:
def __init__(self, name):
self.name = name
def greet(self):
print("Hello, my name is " + self.name)
p1 = Person("Emil")
p1.greet()
O‘zingiz sinab ko‘ring »
Eslatma: Barcha usullar birinchi parametr sifatidaselfbo‘lishi kerak.
Parametrli usullar
Usullar oddiy funksiyalar kabi parametrlarni qabul qilishi mumkin:
Misol
Parametrlar bilan usul yarating:
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))
O‘zingiz sinab ko‘ring »
Xususiyatlarga kirish usullari
Usullarselfyordamida obyekt xususiyatlariga kirishi va o‘zgartirishi mumkin:
Misol
Obyekt xususiyatlariga kirish usuli:
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())
O‘zingiz sinab ko‘ring »
Xususiyatlarni o‘zgartirish usullari
Usullar obyektning xususiyatlarini o‘zgartirishi mumkin:
Misol
Xususiyat qiymatini o‘zgartiradigan usul:
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()
O‘zingiz sinab ko‘ring »
__str__() usuli
__str__() usuli - bu obyekt chop etilganda nima qaytarilishini boshqaradigan maxsus usul:
Misol
__str__() usulisiz:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("Emil", 36)
print(p1)
O‘zingiz sinab ko‘ring »
Misol
__str__() usuli bilan:
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)
O‘zingiz sinab ko‘ring »
Ko‘p usullar
Sinfda birgalikda ishlaydigan bir nechta usullar bo‘lishi mumkin:
Misol
Bir classda bir nechta usullarni yarating:
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()
O‘zingiz sinab ko‘ring »
Yo‘q qilish usullari
Sizdelkalit so‘zidan foydalanib, usullarni sinfdan o‘chirishingiz mumkin:
Misol
Usulni sinfdan o‘chirish:
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
O‘zingiz sinab ko‘ring »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
