selfPython'daki kelimenin amacı nedir ? Bu sınıftan oluşturulan belirli bir nesneyi ifade ettiğini anlıyorum, ancak neden açıkça her işleve parametre olarak eklenmesi gerektiğini göremiyorum. Örneklemek gerekirse, Ruby'de bunu yapabilirim:
class myClass
def myFunc(name)
@name = name
end
end
Anladığım kadarıyla, oldukça kolay. Ancak Python dahil etmek gerekir self:
class myClass:
def myFunc(self, name):
self.name = name
Biri benimle bu konuda konuşabilir mi? (Kuşkusuz sınırlı) deneyimime rastladığım bir şey değil.
@namedaha sezgisel yapan nedir self.name? İkincisi, IMO, daha sezgiseldir.
@foove örtük bir çözüme ihtiyaç duyulmadığı self.fooiçin eşit derecede açıktır (örn. C ++ 'da, örnek üyelere ad alanları kullanılarak "açıkça" olmadan "örtük" olarak erişilebilir). Tek fark, Ruby'nin yeni bir semantik (@) tanıtması, Python'un sunmamasıdır. Yeni bir semantiğin kaçınılması gereken ayrıntı düzeyine değip değmeyeceği tamamen özneldir. Yine de, çoğu modern dilin burada bir konsept sunmayı seçtiğine dikkat edilmelidir (örn. Php's $ this, JS's).


