现在有一个函数 func,有两个参数 x,y,其中 x 是必选参数,y 是可选参数
我的想法是:当参数 y 没有传入值的时候,参数 y 的值默认等于参数 x 的值
有点类似于:
def add(x,y=x):
pass
但是这么写肯定是不对的
所以应当怎么实现我的想法呢?
现在有一个函数 func,有两个参数 x,y,其中 x 是必选参数,y 是可选参数
我的想法是:当参数 y 没有传入值的时候,参数 y 的值默认等于参数 x 的值
有点类似于:
def add(x,y=x):
pass
但是这么写肯定是不对的
所以应当怎么实现我的想法呢?
|
crabJan 19, 2018
1
在函数内判断 Y 是否 None,再赋值是否可行?
|
|
2
def add(x, y=None):
if not y: y = x return x + y |
|
yujieyu7Jan 19, 2018
3
不求优雅的话,函数内自己判断和赋值吧
|
|
4
@Pythonerxiaobai add(1,0) 卒
|
|
5
|
|
PythonerxiaobaiJan 19, 2018
6
@mooncakejs 那在加上判断为 0 的情况呗
|
|
bomblessJan 19, 2018
7
不是 is None 么 233
|
|
tonicJan 19, 2018
8
```
missing = object() def add(x, y=missing): if y is missing: y = x ``` |
|
9
不知道这样可以不
def f(x, *arg): if len(arg) == 0: y = x f(x,y) elif len(arg) == 1: y = arg[0] pass |