gpt4 book ai didi

python 太多关键字参数

转载 作者:行者123 更新时间:2023-12-01 00:25:31 25 4
gpt4 key购买 nike

下面的代码可以使用相同的数据作为输入,但我需要使用 **_ 以避免太多参数。有什么方法可以删除参数 **_ 并将正确的参数输入到 f1 和 f2 中吗?

def f1(freq,bw,**_):
print(freq,bw)
def f2(FW_ID,**_):
print(FW_ID)
db = {
'freq':2414,
'bw':20,
'FW_ID':0.1,
}

f1(**db)
f2(**db)

最佳答案

您尝试破解此方法以保存代码行的任何方法都将不可读,并且当 db 中的数据格式错误时,会导致难以跟踪的错误。

以正确的方式去做,就是 explicit, not implicit 。像这样调用 f1f2:

f1(freq=db['freq'], bw=db['bw'])
f2(FW_ID=db['FW_ID'])

或者只是:

f1(db['freq'], db['bw'])
f2(db['FW_ID'])

如果您这样做,则不需要 **_ 参数,并且您可以编写更具可读性的函数签名:

def f1(freq,bw):
print(freq,bw)

def f2(FW_ID):
print(FW_ID)

另一种方法是让两个函数接受完整的 db (dict) 作为参数,并在内部解析它(但这可能过于重复)

关于python 太多关键字参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58607942/

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