【发布时间】:2018-11-17 12:52:19
【问题描述】:
我有一个案例,我正在尝试编写类似于下面 print 2 而不是 1 的代码。
class foo():
_default_val = 1
@classmethod
def print_num(cls, num=_default_val):
print(num)
class foo2(foo):
_default_val = 2
tester = foo2()
tester.print_num()
# 1
当然我可以设置num=None 并访问self._default_val,如果它仍然是None,但是我想知道是否有更简洁的方法来实现这一点。
注意:我也知道如果我复制粘贴该函数会起作用,但我认为这是不好的做法,因为我必须为我所做的每次更改维护该函数的所有副本
【问题讨论】: