我正在寻找一种更简洁的方法来获取多个函数参数

时间:2019-11-17 21:25:34

标签: python function parameters

我正在寻找一种更简洁的方法来获取多个函数参数

我尝试过Google搜索来计算函数中定义的参数,但找不到明确的答案。对于经验丰富的程序员来说,它们可能很清楚,但是我是新手-大约5天之后。任何帮助将不胜感激。我得到了我想要的结果,但是正在寻找一个更短的方法?

def get_length(first_name, middle_name, last_name):
    countme1 = len(first_name)
    countme2 = len(middle_name)
    countme3 = len(last_name)
    print(countme1 + countme2 + countme3)

get_length("David", "Daniel", "Wesisenheimer")

1 个答案:

答案 0 :(得分:0)

求和多个字符串的长度(数目未知)的最好方法是迭代。同样,星号(*)在python中表示“全部”。因此* args表示该函数将接受许多参数或少量参数,零参数为最小值。

def get_length(*args):
    if len(args) == 1: # If only one parameter (hence, one string) was given
        return len(args[0])
    else:
        sum_lens = 0
        for string in args:
            sum_lens = sum_lens + len(string)
        return sum_lens

或者更快(更简洁)的方法

# (from user:4518341)
def get_length(*args):    
    return sum(len(arg) for arg in args)