Diyelim ki, ekstra özellik eklemek istediğim bir Python sınıfım var.Python'da yama sınıfları
import path.MyClass
setattr(MyClass, 'foo', bar)
:
import path.MyClass
MyClass.foo = bar
ve benzeri kullanılarak şey arasında fark var mıdır?
Değilse, neden insanlar ilkinden ziyade ikincisi yaparlar? (. Örneğin burada http://concisionandconcinnity.blogspot.com/2008/10/chaining-monkey-patches-in-python.html) (. Eğer öznitelik adı için bir değişken kullanabilirsiniz setattr ile)
Neden sınıfın tanımını ek yöntemle güncelleştirmiyorsunuz? Sınıf tanımını basitçe düzenleyebildiğiniz tüm bu "sihirli" şeyleri neden yapıyor? –
Bu soruyu sorduğumda, sorun, değiştirmek istemediğimiz bir kütüphaneden geliyordu; ve bunu alt sınıfta tutamadık. Genel olarak kabul etseler de. – interstar