为什么在 Python 中调用父方法时必须传递 self 参数?

Why do I have to pass the self argument when I call a parent method in Python?

当我调用父 class 的方法时,我无法理解必须键入 self 背后的逻辑:

import tkinter as tk 
class myApp(tk.Tk):
    def __init__(self, *args, **kwargs):
        tk.Tk.__init__(self, *args, **kwargs)
        container = tk.Frame(self)

为什么我必须输入 self:container = tk.Frame(self)?

小部件以树状结构存在。除了根 window,每个小部件都有一个父部件。

创建小部件时,第一个参数是新小部件的父级。在这种特定情况下 self 代表根 window。由于它是唯一的其他小部件,因此它是 container

的父级的唯一选择