d3p*_*3pd 2 python methods arguments class self
假设我想将类方法的参数的默认值设置为类的某个数据属性的值.这样做的适当方法是什么?有没有办法使用lambda函数?
这是一些示例代码:
class A(object):
def __init__(
self
):
self._defaultReportText = "hello world"
def report(
self,
text = self._defaultReportText
):
return(text)
Run Code Online (Sandbox Code Playgroud)
显然,text方法参数的默认值规范在report这里不起作用,因为self此时未定义.我该如何提供这个价值?
如果我理解你的问题,我通常会这样做:
def report(self, text = None):
if text is None:
text = self._defaultReportText
return(text)
Run Code Online (Sandbox Code Playgroud)
(编辑:改if not text到if text is None沃伦Weckesser的建议后.)
| 归档时间: |
|
| 查看次数: |
60 次 |
| 最近记录: |