Junior — Middle
Sınıf yöntemleri bağlamında self ve cls arasındaki farkları açıklayın
sobes.tech yapay zeka
AI'dan gelen yanıt
Python'da self ve cls, metodların ilk parametresi için kullanılan anlaşmalardır, ancak farklı amaçlara hizmet ederler:
self, sınıfın belirli bir örneğine referanstır. Normal örnek metodlarında, bu nesnenin özelliklerine ve metodlarına erişmek için kullanılır.cls, kendisinden değil, sınıfın kendisine referanstır. Sınıf metodlarında (@classmethoddekoratörü ile işaretlenmiş) kullanılır ve sınıf genelinde çalışmak, yeni örnekler oluşturmak veya sınıf özelliklerini değiştirmek gibi işlemler için kullanılır.
Örnek:
class MyClass:
class_var = 0
def __init__(self, value):
self.instance_var = value
def instance_method(self):
print(f'Örnek değişkeni: {self.instance_var}')
@classmethod
def class_method(cls):
print(f'Sınıf değişkeni: {cls.class_var}')
obj = MyClass(10)
obj.instance_method() # örnek metodunu çağırır
MyClass.class_method() # sınıf metodunu çağırır