Python 类属性 - 重置

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)

这些需要在我的程序的每次迭代中重置,最简洁的方法是什么而不是如上所示设置为零

谢谢

Kim*_*ais 0

我不确定这是否更整洁,但是:

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)