gpt4 book ai didi

python - 为什么要使用 Python 的可变长度参数来传递列表/字典?

转载 作者:行者123 更新时间:2023-11-28 19:35:23 24 4
gpt4 key购买 nike

Python 允许你像这样声明一个函数

def print_all(*arguments):
for a in arguments:
print(a)
print_all(1,2,3)

这允许一个人传递可变数量的数据。对我来说,这似乎比构建列表或字典并像这样将它们作为参数传递时可读性要差得多。

def print_all2(things_to_print):
for thing in things_to_print:
print(thing)
things_to_print = [1,2,3]
print_all2(things_to_print)

第二个选项允许您为参数指定一个合适的名称。什么时候最好使用 *arguments 技术?是否有使用 *arguments 更 Pythonic 的时候?

最佳答案

Is there a time when using *arguments is more Pythonic?

不仅“更像 pythonic”,而且通常必要

当您不知道函数将接收多少个参数时,您需要使用*args

例如,想想装饰器:

def deco(fun):
def wrapper(*args, **kwargs):
do_stuff()
return fun(*args, **kwargs)
return wrapper

关于python - 为什么要使用 Python 的可变长度参数来传递列表/字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26613025/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com