için __init__ kullanmanın farklı yolları Bu yüzden PyQt4 kullanarak temel Python'dan GUI programlamaya geçmeye çalışıyorum. Birkaç farklı kitaba ve öğreticiye bakıyorum ve her birinin sınıf tanımını tekmelemenin farklı bir yolu var gibi görünüyor.PyQt4
Bir öğretici şöyle sınıflar başlar:
class Example(QtGui.QDialog):
def __init__(self, parent=None):
super(Example, self).__init__(parent)
Ve yine başka bu şekilde yapar:
class Example(QtGui.QDialog):
def __init__(self):
super(Example, self).__init__()
başka kitap, bunu böyle
class Example(QtGui.QDialog):
def__init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
I Hala aklımı sınıfları ve OOP ve super()
etrafında sarmaya çalışıyorum ve tüm ... düşünürken düzelttim Üçüncü örnekteki son satır, temel sınıfı doğrudan doğrudan arayarak, önceki kullanıcılarda super()
kullanarak yapılan çağrılarla aynı şeyi gerçekleştirir mi? Bunlar gibi nispeten basit örnekler için, yani tek miras olarak, diğerine karşı tek yönlü kullanım için herhangi bir gerçek fayda veya sebep var mıdır? Son olarak ... ikinci örnek parent
'u super()
'a bir argüman olarak geçirirken, ilk olarak ... neden/neden/nerede uygun olacağı ile ilgili herhangi bir tahminde bulunma/açıklama yapmıyor mu?
Bir * hızlı * yanıt yazım yolu önünüzdeyim – Hubro
@Codemonkey Soruyu sorduktan 7 dakika sonra, * bu * hızlı. :) – Dougal