Ben python2.7.11 bu kodu kullanarak bu hatayıTypeError: super() en az 1 argüman alır (0 verilen) hata herhangi bir python sürümüne özgüdür?
TypeError: super() takes at least 1 argument (0 given)
alıyorum:
class Foo(object):
def __init__(self):
pass
class Bar(Foo):
def __init__(self):
super().__init__()
Bar()
geçici çözüm olurdu çalışması için:
class Foo(object):
def __init__(self):
pass
class Bar(Foo):
def __init__(self):
super(Bar, self).__init__()
Bar()
Bu sözdizimi görünüyor python 3'e özgüdür. Yani, 2.x ve 3.x arasında uyumlu kodun sağlanmasının ve bu hatanın olmasının önlenmesinin en iyi yolu nedir?
Bu sözdizimi Python 3 içindir. –
@DanielRoseman Görüyorum, teşekkürler. daha kullanışlı biraz sonra – BPL
Python 2 sözdizimi, bu durumda Python 3'te hala geçerli bazı ekstra şeyler soran biraz kaydetmiştiniz sorumu yapmak için; Her iki sürümü de desteklemek istiyorsanız, bunu kullanın. sürümleri arasındaki diğer uyumsuzlukları bir sürü unutulmamalıdır. –