【发布时间】:2015-02-15 13:40:36
【问题描述】:
假设我有一些类c,我想创建一个函数f,它获取一个参数,如果没有给出默认为self.x。即
class c:
def __init__(self, x):
self.x = x
def f(self, n = self.x):
...
但是,这似乎不起作用 (name 'self' is not defined)。
这个问题有解决方案还是不能使用成员作为函数的默认值?
一个简单的解决方案是这样的:
def f(self, n = None):
if (n is None):
n = self.x
但我想知道是否可以避免它。
【问题讨论】:
标签: python function class arguments default-value