0

I'm trying to learn how to make GUI with Traits. I'm new in object oriented programming and I'm new in Python. Most of the examples I could find on the net do not use any constructor in the Hastraits subclass. Should I forget about the def init(self, *arg) constructor? Or should I force myself to use it ?

For example, taking the example from : Change property parameter from within class constructor [Python / Traits]

the code from DrSAR is to me the most simple and elegant of all the examples; and yet it doesn't use constructor. Did I miss something?

4

1 回答 1

3

简短的回答:不,__init__()HasTraits.

HasTraits该类定义了一个通用且非常灵活的类__init__(),它接受给它的关键字参数并将值分配给相应的属性。您的子类将继承此初始化程序。鉴于特征定义通常为每个属性提供合理的默认值,通常没有理由需要另一个初始化程序。在某些情况下确实想要覆盖此初始化程序,但它们相对较少。我可能每写 100 节左右的课就这样做一次。

如果你想练习为标准的子类化 Python 编写初始化程序,对不起。除了一般的 OO 和 Python 原则之外,Traits 有自己的一套约定和最佳实践;前者中的一些将讨论后者。

于 2013-06-11T17:20:07.110 回答