理解Python中的Init

时间:2013-11-09 08:16:51

标签: python python-2.7

考虑我创建一个类名“Application”,它接受“frame”小部件

class Application(Frame):

在构造函数/初始化中我做

def __init__(self, master=None):

创建实例时

root = Tk()
app = Application(master=root)

我不明白在创建实例时我将类Tk()的实例分配给Master。那么为什么在初始化时我们将它变为“无”。有人可以看一下这个并解释一下。

先谢谢

1 个答案:

答案 0 :(得分:5)

当您编写def __init__(self, master=None):时,您将“无”设置为master默认值。当您致电Application(master=root)时,您传递的值会覆盖默认值。

A simple example:

def foo(a=1):
    print "a is", a

>>> foo()
a is 1
>>> foo(2)
a is 2
>>> foo(a=2)
a is 2
>>>