給定一個以多個函數爲參數的高階函數,該函數如何將關鍵字參數傳遞給函數參數?爲不同函數分開** kwargs
例如
def eat(food='eggs', how_much=1):
print(food * how_much)
def parrot_is(state='dead'):
print("This parrot is %s." % state)
def skit(*lines, **kwargs):
for line in lines:
line(**kwargs)
skit(eat, parrot_is) # eggs \n This parrot is dead.
skit(eat, parrot_is, food='spam', how_much=50, state='an ex-parrot') # error
state
不是eat
關鍵字ARG所以如何只能通過小品關鍵字ARGS有關,它調用函數?
毫無疑問,有很多方法可以做到這一點,但我認爲你是從錯誤的角度接近這一點。如果兩個函數使用相同名稱的關鍵字arg,並且您希望將不同的值傳遞給這兩個函數,那麼您會做什麼?最好只是明確地傳遞關鍵字參數的字典。有可能每個參數都是(比方說)一個由元素和關鍵字參數組成的雙元組元組。 – Hammerite
這可能是最好的解決方案。 – cheezsteak