Python – >

Python -> function -> if no value is provided for one of the variables

python函数,添加两个数字:a和b。如果没有为b提供值,则返回a+1。

1
2
3
4
5
6
def sum(a,b):
    if b is None:
        return a + 1
    else:
        return a + b
print(sum(3,2))

我试过打印(SUM(2))。

则-->typeerror:sum()缺少1个必需的位置参数:"b"

B==无?B不是吗?…我怎么修?

提前谢谢!!


最短版本:

1
2
def sum_ab(a, b=1):
    return a + b


您需要在函数签名中有一个默认值。

1
2
def my_sum(a, b=None):
    return a + 1 if b is None else a + b

我还将函数名改为my_sum,因为sum是内置的,条件改为b is None,因为如果b = 0not b也是真的。


您可以将默认值None提供给b。另外,正如@vash_the_stampede所指出的,您不应该使用sum,因为这是一个内置函数。换成类似于my_sum的东西

1
2
3
4
5
6
7
8
9
def my_sum(a,b=None):
    if b is None:
        return a + 1
    else:
        return a + b


>>> print(my_sum(2))
3