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

时间:2017-06-17 00:38:46

标签: python class oop tkinter python-3.6

当我调用父类的方法时,我无法理解必须输入self的逻辑:

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

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

1 个答案:

答案 0 :(得分:2)

小部件存在于树状结构中。除根窗口外,每个窗口小部件都有父窗口。

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