为每个方法参数创建实例属性

我记得在某处读到如何为创建实例属性
每个方法都有争论,但尽管谷歌是我的朋友,我看起来
去寻找它.这可能会做得更优雅:
=
类测试(对象):
Def__init__(self,a,b,c,d,e,f):
Self.a=a
Self.b=b
Self.c=c
Self.d=d
=
2B

# 回答1


贝尔科·比特写道:
对于位置参数,你不能做得比这更好,但你可以
如果它们是关键字参数.
类foo(对象):
Def__init__(self,**kwargs):
自我.__dict__.更新(Kwargs)
-拉里
# 回答2


贝科·贝特 你"可以"做这样的事情:
Def__init__(self,a,b,c,d,e,f):
Self.update(本地变量())
定义更新(自我、声明):
对于广告中的k:
如果k!='self':
Setattr(自我,k,描述[k])
{'a':1,'c':3,'b':2,'e':5,'d':4,'f':6}
但老实说,你的原著要清晰得多,因为它表达了
没有任何混淆的意图,只要你想做任何事情
除了简单地复制所有参数之外,您还需要进行赋值
不管怎么说都是单独的.
# 回答3


贝尔科·比特写道:http://code.activestate.com/recipes/280381/
就我个人而言,我更喜欢像你上面做的那样拼写出来.
彼得

标签: python

添加新评论