2011年06月10日 星期五 11:05
用chaco绘图中 定义了一个HasTraits的类后
用__init__ 初始化
为什么在您书中有两种定义方式
def __init__(self, **traits):
http://hyry.dip.jp:8000/scipybook/default/file/08-chaco/chaco_simple_line.py
和def __init__(self)
http://hyry.dip.jp/pydoc/chaco_intro.html#id2
**traits加不加有什么意义吗?
2011年06月10日 星期五 14:05
在Python的语法中,函数可以用“**参数名”接收所有的关键字参数。
HasTraits类可以通过关键字参数初始化Trait属性,因此从HasTraits类继承的类也可以用这个功能。
在def __init__(self, **traits)中,用traits接收所有的关键字参数,然后再用super(LinePlot, self).__init__(**traits),将这些参数传递给HasTraits类的__init__。因此这种是比较标准的写法。
但是就这个例子来说,不要traits参数也可以,因为后面创建LinePlot对象时没有传递关键字参数给它。
2011年06月10日 星期五 14:57
哦~~明白了 多谢
Zeuux © 2024
京ICP备05028076号