mik*_*kip 5 python attributes class
在 Python 中重置类属性的最佳方法是什么?
我有一个类,它有大约 20 个类属性,在我的 init 中我有
class MyClass:
def __init__(self)
self.time=0
self.pos=0
self.vel=0
self.acc=0
self.rot=0
self.dyn=0
Run Code Online (Sandbox Code Playgroud)
这些需要在我的程序的每次迭代中重置,最简洁的方法是什么而不是如上所示设置为零
谢谢
我不确定这是否更整洁,但是:
class MyClass:
def __init__(self):
for v in ('time', 'pos', 'vel', 'acc', 'rot', 'dyn'):
exec("self.%s = 0" % v)
Run Code Online (Sandbox Code Playgroud)
正如 SilentGhost 建议的那样,您可能应该将它们放在一个合理的数据结构中,例如元组,例如
class MyClass:
def __init__(self):
self.values = 20*(0,)
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用字典:
class MyClass:
def __init__(self):
self.data = {}
for v in ('time', 'pos', 'vel', 'acc', 'rot', 'dyn'):
self.data[v] = 0
Run Code Online (Sandbox Code Playgroud)