Sobes.tech
Junior

Python-da self nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Python-də self sinifin nümunə metodunun ilk arqumentidir. O, metod çağırılan obyektin özünü təmsil edir.

self-in əsas xüsusiyyətləri:

  • Nümunəyə istinad: Bu, bu konkret nümunənin atributlarına daxil olmağa və digər metodları çağırmağa imkan verir.
  • Adlandırma konvensiyası: self ənənəvi, lakin məcburi olmayan bir addır. Başqa ad istifadə etmək mümkündür, lakin self ümumi qəbul olunmuş standartdır və kodu oxumağı asanlaşdırır.
  • Avtomatik ötürülür: Nümunə metodunu çağırarkən, Python avtomatik olaraq çağıran nümunəyə istinad edən self-i ilk arqument kimi ötürür. Onu çağırışda təyin etməyə ehtiyac yoxdur.
  • Statik və sinif metodlarında yoxdur: Statik metodlar (@staticmethod) self-ə malik deyil, çünki onlar konkret nümunəyə bağlı deyil. Sinif metodlarında (@classmethod) ilk arqument sinfə istinad edir (cls), nümunəyə deyil.

İstifadə nümunəsi:

class MyClass:
    def __init__(self, value):
        # Verilmiş dəyəri nümunə atributu olan 'value'-yə təyin edir
        self.value = value

    def print_value(self):
        # Bu nümunənin 'value' atributuna daxil olmaq üçün 'self'-dən istifadə edir
        print(f"Value is: {self.value}")

# Sinifin nümunəsini yaradın
obj = MyClass(10)

# Nümunə metodunu çağırın. Python avtomatik olaraq 'obj'-i 'self' kimi ötürür
obj.print_value()

Bu nümunədə, self __init__print_value metodlarında obj obyektinə istinad edir. self olmasa, bu nümunənin aid olduğu value atributuna daxil olmaq mümkün olmazdı.