我正在为某个东西写一堂课,而我却在同样的烦人中绊脚石以打出建筑。有什么简单的方法可以设置类,以便构造函数中的所有参数都初始化为自己的名称,即fish = 0 -> self.fish = fish
?
class Example(object):
def __init__(self, fish=0, birds=0, sheep=0):
self.fish = fish
self.birds = birds
self.sheep = sheep
简短的回答:不。您不需要初始化构造函数中的所有内容(可以懒惰地进行操作),除非您立即需要或公开它(这意味着您不控制访问权限)。但是,由于在Python中您没有声明数据字段,因此如果它们出现在代码的不同部分中,则很难跟踪它们。
更全面的答案:您可以做一些魔术**kwargs
(它包含参数名称/值对的字典),但是不建议这样做,因为它几乎不可能记录更改的内容,并且使用户难以检查某个参数是否被接受或不。仅将其用于可选的内部标志。当要传递20个或更多参数时,它可能会很有用,但在那种情况下,我建议您重新考虑设计和集群数据。
如果您需要简单的键/值存储,请考虑使用内置函数,例如dict
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句