有两种方法:
1:
def get(params):
res = "do_something"
return res
class A():
a = get(params)
a=A()
2:
class A():
a = ""
@classmethod
def Init(cls,params):
res = "do_something"
cls.a = res
a=A()
a.Init()
我不知道如何选择。还有更好的东西吗?
类属性应该是在所有实例之间共享的静态属性,并且不会更改值(例如,所有num_sides
实例的Square
)。因此,在课堂上初始化它们是一个很好的策略。
另一方面,classmethod
主要用于替代构造函数。虽然您可以访问该类,但您的主要目标是初始化实例。在这样的函数中分配类属性会让读者感到困惑。此外,它每次调用此构造函数时都会初始化值。
总的来说,第一种方法更好。