0 python arguments default function python-3.3
在Python 3.3.3中,当我尝试
def f(x,y=0):
z = x+y
return z
Run Code Online (Sandbox Code Playgroud)
它工作得很好.
但是,当我尝试
def f(x,y=x):
z = x+y
return z
Run Code Online (Sandbox Code Playgroud)
我得到NameError: name 'x' is not defined.
我知道我可以做到
def f(x,y=None):
y = x if y is None else y
z = x+y
return z
Run Code Online (Sandbox Code Playgroud)
.
是否有更简洁或更好的方法来获得理想的结果?
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |