Skip to main content
 首页 » 编程设计

python之编写函数以传递参数或参数元组的大多数 pythonic 方式

2025年05月04日14pengyingh

编写函数以传递参数或参数元组/列表的最 Pythonic 方式是什么?

例如,函数 add可以接受 add(1, 2) 的参数或 add((1, 2))并且都输出 3 .

我目前拥有的:(它有效,但看起来不太好)

def add(*args): 
    if len(args) == 1: 
        return (args[0][0] + args[0][1]) 
    if len(args) == 2: 
        return args[0] + args[1] 
    else: 
        print "error: add takes in one or two arguments" 

我不喜欢的是:

  1. 我必须打印有关传递一个或两个参数的错误
  2. args[0][0]看起来很不可读
  3. 这样就很难判断传入的参数代表什么(它们没有名字)

请您参考如下方法:

我不知道这是否是最“pythonic”的方式,但它会做你想做的事:

def add(a, b=None): 
    return a+b if b is not None else sum(a)