私は Python の初心者で、現在、私の著書「絶対的な初心者のための Python プログラミング」の第 10/12 章を読んでいます。私は Python で OOP を理解していますが、ある章 (OOP に関するいくつかの関連情報について説明しています) が「カード」をプレイするためのプログラムに基づいているため、その章の一部をスキップする必要がありました (カードのプレイ方法がわからないため)。そのため、本のこの時点で知っておくべき重要な情報を見逃していました。私がこれを言っている理由は、複雑な答えは私には解釈が難しすぎるかもしれないので、私の質問には簡単な答えが必要だからです.
しかし、とにかくここに私の問題があります.私の本には単純なGUIプログラムを作成するコードの一部があり(私は完全に理解しています)、私が理解していないプログラムのオブジェクト指向バージョンがあります(主要部分は「 ## の)。これには、「スーパークラス コンストラクター」と呼ばれるものが含まれており、私を完全に混乱させました (調査を試みましたが、意味がわかりませんでした)。コードの 2 番目のバージョンがどのように機能するかを説明してくれる人 (または役立つリソースを提供してくれる人) があれば、非常に感謝しています。
コードの最初のバージョン:
from tkinter import *
# create a root window
root = Tk()
root.title("Lazy Buttons")
root.geometry("200x85")
app = Frame(root)
app.grid()
bttn1 = Button(app, text = "This is a button")
bttn1.grid()
root.mainloop()
2 番目のバージョン:
from tkinter import *
class Application(Frame):
def __init__(self, master): # Why is 'master' called?
super(Application, self).__init__(master) # ?
self.grid()
self.create_widgets()
def create_widgets(self):
self.bttn1 = Button(self, text = "This is a button")
self.bttn1.grid()
root = Tk()
root.title("Lazy Buttons 2")
root.geometry("200x85")
app = Application(root)
root.mainloop()