为什么tk.Tk.__init__(self, *args, **kwargs)
打开一个新窗口,其中的参数有什么作用?
例如:
import tkinter as tk
class App(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
tk.Label(self, text='text on the screen').pack()
app = App()
tk.mainloop()
编辑:我并不是真的在问我主要是想知道tk.Tk.__init__(self)
是做什么的* args和** kwargs!
答案 0 :(得分:0)
创建新的App对象时,它将具有参数。应用程序对象的示例可能是X = App(“ Flappy Bird”,“ iPhone”,10)。 init (self):对于所有对象初始化,必须将self作为第一个参数。这样,如果您有多个App对象,Python就会知道要引用哪个对象。例如,如果您有另一个Y = App(“ Youtube”,“ Android”,11),则不是在引用X.appname或Y.appname,而是要使用属于该对象的那个。 如果您有很多参数,则使用* args传递所有参数。使用字典时,* args仅会通过所有键。如果要传递字典的所有值,请使用** kwargs。