考虑使用JavaScript中的函数:
如果val未在第一次调用中定义,则变为0
function someRecursiveFn (item, val) {
val = val || 0;
...
}
Run Code Online (Sandbox Code Playgroud)
如何在Python中指定相同的方式?
def someRecursiveFn(item, val):
val = ??
...
Run Code Online (Sandbox Code Playgroud)
您可以使用关键字参数而不是函数的普通参数:
def someRecursiveFn(item, val=None):
val = val or 0
Run Code Online (Sandbox Code Playgroud)
如果没有传递给函数调用,val则默认为None.
在val = val or 0将保证val=None或val=''转换为0,如果你只关心可以省略val首先被定义.