Junior
Python'da self nima?
sobes.tech AI
AIdan javob
self Python-da sinfning o'ziga xos metodining birinchi argumentidir. U, metod chaqirilgan ob'ektning o'zini ifodalaydi.
self ning asosiy xususiyatlari:
- O'ziga xos ob'ektga havola: Bu, bu aniq ob'ektning atributlariga kirish va boshqa metodlarni chaqirish imkonini beradi.
- Nomi bo'yicha kelishuv:
selfan'anaviy, ammo majburiy emas. Boshqa nomni ishlatish mumkin, lekinselfkeng tarqalgan standart bo'lib, kodni o'qishni osonlashtiradi. - Avtomatik tarzda uzatiladi: Ob'ekt metodini chaqirganda, Python avtomatik ravishda chaqiruvchi ob'ektga havolani birinchi argument sifatida uzatadi (
self). Uni chaqirishda aniqlash shart emas. - Statik va sinf metodlarida mavjud emas: Statik metodlar (
@staticmethod) daselfmavjud emas, chunki ular aniq ob'ekt bilan bog'liq emas. Sinf metodlarida (@classmethod) birinchi argument sinfga havolani (cls) ifodalaydi, ob'ektga emas.
Misol:
class MyClass:
def __init__(self, value):
# Uzatilgan qiymatni ob'ekt atributiga tayinlaymiz
self.value = value
def print_value(self):
# Bu ob'ektning `value` atributiga kirish uchun `self` dan foydalanamiz
print(f"Value is: {self.value}")
# Sinfning ob'ektini yarating
obj = MyClass(10)
# Ob'ekt metodini chaqiring. Python avtomatik ravishda `obj` ni `self` ga uzatadi
obj.print_value()
Ushbu misolda, self __init__ va print_value metodlarida obj ob'ektiga ishora qiladi. self bo'lmasa, aynan shu MyClass ning ushbu ob'ekti uchun tegishli bo'lgan value atributiga kirish mumkin bo'lmasdi.