我应该使用HasTraits子类的构造函数吗

2024-09-25 08:36:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我在努力学习如何制作具有特征的GUI。我是面向对象编程的新手,也是Python的新手。我在网上找到的大多数例子都没有在Hastraits子类中使用任何构造函数。我应该忘记definit(self,*arg)构造函数吗?还是我应该强迫自己使用它?在

例如,从以下方面举例: Change property parameter from within class constructor [Python / Traits]

DrSAR的代码对我来说是所有示例中最简单和最优雅的;但是它没有使用构造函数。我错过什么了吗?在

提前感谢您的帮助

LLG公司


Tags: fromselfparameterargguipropertychange子类
1条回答
网友
1楼 · 发布于 2024-09-25 08:36:57

简单回答:不,当从HasTraits子类化时,不要编写__init__()初始值设定项。在

HasTraits类定义了一个通用且非常灵活的__init__(),它接受给它的关键字参数并将值赋给相应的属性。你的子类将继承这个初始值设定项。鉴于trait定义通常为每个属性提供合理的默认值,通常没有理由需要另一个初始值设定项。有些情况下,确实需要重写这个初始值设定项,但它们相对较少。我可能每写100节课就写一次。在

如果您想练习从对象Python编写标准子类化的初始化器,对不起。除了一般的OO和Python原则之外,Traits有自己的一套惯例和最佳实践,您将学习这些原则;前者中的一些将讨论后者。在

相关问题 更多 >