![]() |
1
49
在Python中,通常不编写getter和setter,除非您确实有一个非常重要的实现(此时使用属性描述符)。 |
![]() |
2
103
以下是我的建议:
关于这个的一些注释。
0)我声明团队继承自
1)这不是必需的,但我让初始值设定项采用可选参数,以便您可以在一行上初始化实例,就像我使用的那样
2)如果需要getter和setter函数,也许需要检查一些东西,那么可以在python中声明特殊的方法函数。这就是马丁诉路易斯案中所说的“财产描述符”的意思。在Python中,通常认为简单地分配给成员变量并简单地引用它们来获取它们是一种良好的实践,因为如果您以后需要的话,可以随时添加属性描述符。(如果你从不需要它们,那么你的代码就不那么杂乱了,你花的时间也更少了。奖金!) 以下是关于属性描述符的一个很好的链接: http://adam.gomaa.us/blog/2008/aug/11/the-python-property-builtin/
3)如果将值指定为
上面将打印
编辑:我在上面的答案中遗漏了一件事,现在我想添加它。如果您在
整数和字符串是“不变的”。您永远不能在适当的地方更改它们;相反,会发生的事情是,Python创建一个新对象并替换您以前拥有的对象。 列表和字典是“可变的”。您可以永远保留同一个对象,添加到该对象并从中删除。
您需要知道的关键一点是:在编译函数时,可选参数只计算一次。因此,如果在
解决方案非常简单:
使用默认参数值
|