だから...私は、PyQt4を使用して、基本的なPythonからいくつかのGUIプログラミングに移行しようとしています。私はいくつかの異なる本とチュートリアルを見ていますが、それらはそれぞれ、クラス定義を開始する方法がわずかに異なるようです。
1 つのチュートリアルは次のようにクラスから始まります。
class Example(QtGui.QDialog):
def __init__(self):
super(Example, self).__init__()
別の本では、次のように説明しています。
class Example(QtGui.QDialog):
def __init__(self, parent=None):
super(Example, self).__init__(parent)
そして、さらに別の方法でそれを行います:
class Example(QtGui.QDialog):
def__init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
私はまだクラスと OOP について頭を悩ませようとしていsuper()
ます... 3 番目の例の最後の行は、前の例での呼び出しとほぼ同じことを、super()
明示的に基本クラスを直接呼び出しますか? これらのような比較的単純な例、つまり単一継承の場合、一方の方法と他方の方法を比較して使用する本当の利点や理由はありますか? 最後に... 2番目の例はparent
引数として渡されますがsuper()
、最初の例はそうではありません...なぜ/いつ/どこでそれが適切かについての推測/説明はありますか?