【发布时间】:2021-08-17 21:27:45
【问题描述】:
我怎样才能定义一个静态类成员与它所在的同一个类的类型?我凭直觉这样尝试:
class A:
def __init__(self,a,b,c,d):
...
default_element = A(1,2,3,4)
这给出了错误
名称“A”未定义
这将使设置/重置的代码简短而有条理。 有一些解决方法,例如
class A:
def __init__(self,a=1,b=2,c=3,d=4):
...
或
class A:
def __init__(self,a,b,c,d):
...
@staticmethod
def getDefault():
return A(1,2,3,4)
但如果可能的话,我更喜欢默认元素,所以我们实际上有一个代表默认值的对象,而不是一个方法,你只能有一组默认值,而使用首选选项我可以有多个不同的模板-对象。
我使用的是 Python 3.6.9。
【问题讨论】:
-
创建类后,您必须这样做,
A.default_element = A(...)。
标签: python python-3.x oop static class-variables