我正在嘗試對裝飾器使用餡餅“@”語法,但我似乎無法讓它適用于我的特定示例。
我可以用這個達到我想要的結果..
import pandas as pd
def prepare_todays_campaigns(decorated):
campaigns_outgoing = pd.DataFrame({"test":[1,2,3]})
n_campaigns = len(campaigns_outgoing)
if n_campaigns > 0:
print(
f"{n_campaigns} to process."
)
decorated(campaigns_outgoing)
def dec_test(campaigns_outgoing):
for _, row in campaigns_outgoing.iterrows():
print(row)
prepare_todays_campaigns(dec_test)
IE

但是當我嘗試使用 @ 語法糖時,我似乎無法得到預期的結果......
def prepare_todays_campaigns(decorated):
def wrapper(*args, **kwargs):
# creatives x campaign
campaigns_outgoing = pd.DataFrame({"test":[1,2,3]})
n_campaigns = len(campaigns_outgoing)
if n_campaigns > 0:
print(
f"{n_campaigns} to process."
)
decorated(*args, **kwargs)
return wrapper
@prepare_todays_campaigns
def dec_test(campaigns_outgoing):
for _, row in campaigns_outgoing.iterrows():
print(row)
dec_test()
結果:

有沒有人對如何解決這個問題有任何建議?
uj5u.com熱心網友回復:
看方法簽名 def dec_test(campaigns_outgoing):
當您呼叫該方法時:
dec_test()
你沒有傳遞campaigns_outgoing引數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/324943.html
下一篇:將4個下載的檔案合并為一個
