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, lakinselfü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__ və 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ı.