toxide
1
class Superclass:
def __init__(self, arguman1, arguman2):
self.attribute1 = "sample"
class Childclass1(Superclass):
def __init__(self, *args, **kw):
super().__init__(*args, **kw)
class Childclass2(Superclass):
def __init__(self, *args, **kw):
super(Childclass2, self).__init__(*args, **kw)
Childclass1 ve Childclass2 deki super() fonksiyonları arasında bir fark var mı?
SuperClassta kw isimli bir argüman olmadığı için super().__init__(**kw) yanlış bir ifadedir.
Yani Childclass1 veya Childclass2 sınıfından bir örnek oluştururken bir keyword argüman kullanırsanız hata alırsınız.
Childclass2'deki super(Childclas2, self).__init__(**kw) ifadesi Python2’ye aittir, Python3’te de kullanılabilir ancak Python3’te genellikle super().__init(*args, **kwargs) kullanıldığını görürsünüz.
toxide
3
Öğrenmek istediğim şey super() ile ilgili olduğu için argümanlara dikkat etmedim, düzelttim.
Cevabınız için teşekkürler.