python类关键字参数

芦孝

我正在为某个东西写一堂课,而我却在同样的烦人中绊脚石以打出建筑。有什么简单的方法可以设置类,以便构造函数中的所有参数都初始化为自己的名称,即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
斯蒂法诺·桑菲利波(Stefano Sanfilippo)

简短的回答:不。您不需要初始化构造函数中的所有内容(可以懒惰地进行操作),除非您立即需要或公开它(这意味着您不控制访问权限)。但是,由于在Python中您没有声明数据字段,因此如果它们出现在代码的不同部分中,则很难跟踪它们。

更全面的答案:您可以做一些魔术**kwargs(它包含参数名称/值对的字典),但是不建议这样做,因为它几乎不可能记录更改的内容,并且使用户难以检查某个参数是否被接受或不。仅将其用于可选的内部标志。当要传递20个或更多参数时,它可能会很有用,但在那种情况下,我建议您重新考虑设计和集群数据。

如果您需要简单的键/值存储,请考虑使用内置函数,例如dict

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

类的构造函数和关键字参数-Python如何确定哪个是意外的?

来自分类Dev

意外的关键字参数“缓冲”-python客户端

来自分类Dev

如何轻松找出Python类是否接受with关键字?

来自分类Dev

使用Python关键字访问类变量

来自分类Dev

Python 3中的类“关键字参数”

来自分类Dev

Ruby关键字参数

来自分类Dev

Python max()不带关键字参数

来自分类Dev

Python尝试在* args之后放置关键字参数

来自分类Dev

带连字符的python关键字参数

来自分类Dev

如何使python内置函数支持关键字参数?

来自分类Dev

Sublime Text自动缩进Python关键字参数

来自分类Dev

关键字和非关键字参数的顺序

来自分类Dev

如何在Python中将关键字参数添加到派生类的构造函数中?

来自分类Dev

忽略python中的其他关键字参数

来自分类Dev

Python类设计:显式关键字参数vs. ** kwargs vs. @property

来自分类Dev

Python文件关键字参数?

来自分类Dev

Python关键字参数解压并返回字典

来自分类Dev

python click中的意外关键字参数

来自分类Dev

Python-函数继承-更改关键字参数

来自分类Dev

Python 2.6:encode()不带关键字参数

来自分类Dev

带有关键字参数的python部分

来自分类Dev

Python继承和关键字参数

来自分类Dev

Python:将搜索关键字聚类

来自分类Dev

无关键字参数

来自分类Dev

Python全局变量和关键字参数

来自分类Dev

Python 3中的类“关键字参数”

来自分类Dev

带连字符的python关键字参数

来自分类Dev

通过Python关键字作为参数?

来自分类Dev

在 Python 中的类中重新分配关键字参数