亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

一個函數可以成為Python中的kwargs部分之一嗎?

一個函數可以成為Python中的kwargs部分之一嗎?

夢里花落0921 2022-09-06 18:08:15
我想用它來減少我的一個函數中的參數數。問題是:一個或多個可能是函數本身。這就是我的意思:functools.partialkwargsfrom functools import partialdef B(alpha, x, y):    return alpha(x)*ydef alpha(x):    return x+1g = partial(B, alpha=alpha, y=2)print(g(5))這將引發錯誤:類型錯誤:B() 為參數“alpha”獲取了多個值是否可以按照提供的參數處理函數?如果沒有,是否有解決方法或比?partialpartial
查看完整描述

1 回答

?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

partial本身不知道應該僅僅因為您為 指定了關鍵字參數,就應該將給定的位置參數分配給 。如果要成為特定函數,請將該函數作為位置參數傳遞給 。xalphaalphapartial


>>> g = partial(B, alpha, y=2)

>>> g(5)

12

g等效于


def g(x):

    return alpha(x) * 2  #  == (x + 1) * 2

或者,您可以使用 的原始定義 ,但請確保也作為關鍵字參數傳遞,避免任何其他位置參數。g5


>>> g = partial(B, alpha=alpha, y=2)

>>> g(x=5)

12

這是有效的,因為在 和 之間,您已經為所有必需參數提供了關鍵字參數,從而無需任何位置參數。gpartial


查看完整回答
反對 回復 2022-09-06
  • 1 回答
  • 0 關注
  • 111 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號