我在努力学习如何制作具有特征的GUI。我是面向对象编程的新手,也是Python的新手。我在网上找到的大多数例子都没有在Hastraits子类中使用任何构造函数。我应该忘记definit(self,*arg)构造函数吗?还是我应该强迫自己使用它?在
例如,从以下方面举例: Change property parameter from within class constructor [Python / Traits]
DrSAR的代码对我来说是所有示例中最简单和最优雅的;但是它没有使用构造函数。我错过什么了吗?在
提前感谢您的帮助
LLG公司
简单回答:不,当从
HasTraits
子类化时,不要编写__init__()
初始值设定项。在HasTraits
类定义了一个通用且非常灵活的__init__()
,它接受给它的关键字参数并将值赋给相应的属性。你的子类将继承这个初始值设定项。鉴于trait定义通常为每个属性提供合理的默认值,通常没有理由需要另一个初始值设定项。有些情况下,确实需要重写这个初始值设定项,但它们相对较少。我可能每写100节课就写一次。在如果您想练习从对象Python编写标准子类化的初始化器,对不起。除了一般的OO和Python原则之外,Traits有自己的一套惯例和最佳实践,您将学习这些原则;前者中的一些将讨论后者。在
相关问题 更多 >
编程相关推荐