2024-07-07 07:45:48 发布
网友
我有这样一个函数:
def hexify_string(aString): #code for string2hexa conversion
…我想要一个接受一个或多个(数量未定义)参数的函数,并返回参数总和的十六进制表示形式。在
有没有使用*args/**kwars的方法?在
这是你想要的吗?收集任意数量的参数,这些参数都应该是字符串。将每个字符串传递给hexify_string(),后者返回一个整数。求和整数并返回和。在
hexify_string()
def hexify(*lst): n = sum(hexify_string(s) for s in lst) return n
当您想要收集参数时,您希望对它们都一视同仁,而且您不知道会有多少个参数,这正是*args语法的初衷。这是一个完美的用例。在
*args
**kwargs收集name=value参数,这里不需要这些参数。在
**kwargs
name=value
*args接受所有非关键字参数并将它们转换为一个列表。您可以将hexify_string映射到列表的每个元素,然后返回列表中所有元素的总和。在
hexify_string
def hexify(*args); return sum(map(hexify_string, args)
这是假设您的hexify_string函数返回一个十六进制值,而不是字符串。在
这是你想要的吗?收集任意数量的参数,这些参数都应该是字符串。将每个字符串传递给
hexify_string()
,后者返回一个整数。求和整数并返回和。在当您想要收集参数时,您希望对它们都一视同仁,而且您不知道会有多少个参数,这正是
*args
语法的初衷。这是一个完美的用例。在**kwargs
收集name=value
参数,这里不需要这些参数。在*args
接受所有非关键字参数并将它们转换为一个列表。您可以将hexify_string
映射到列表的每个元素,然后返回列表中所有元素的总和。在这是假设您的
hexify_string
函数返回一个十六进制值,而不是字符串。在相关问题 更多 >
编程相关推荐