Sobes.tech
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: self an'anaviy, ammo majburiy emas. Boshqa nomni ishlatish mumkin, lekin self keng 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) da self mavjud 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.