3 回答

TA貢獻1866條經驗 獲得超5個贊
您可以使用functools.partial:
functools.partial(func, /, *args, **關鍵字)
返回一個新的部分對象,當調用該對象時,其行為類似于使用位置參數 args 和關鍵字參數 keywords 調用的 func。
from functools import partial
def add(a,b,c):
return a+b+c
如果你想給第一個位置參數一個固定的值,你可以這樣做
add5 = partial(add, 5)
print(add5(1, 2))
# 8
由于第一個位置參數 (a) 將替換為 5,因此您不能:
print(add5(a=3, b=4))
# TypeError: add() got multiple values for argument 'a'
如果要控制修復哪個參數,請使用關鍵字參數:
add5 = partial(add, b=5)
print(add5(a=1, c=2))
# 8

TA貢獻2011條經驗 獲得超2個贊
在 Python 中,函數是第一類對象,這意味著 –
函數是對象;它們可以被引用,傳遞給變量,也可以從其他函數返回。
函數可以在另一個函數中定義,也可以作為參數傳遞給另一個函數。
裝飾器是 Python 中非常強大和有用的工具,因為它允許程序員修改函數或類的行為。裝飾器允許我們包裝另一個函數以擴展包裝函數的行為,而無需永久修改它。
在裝飾器中,函數被作為另一個函數的參數,然后在包裝函數內部被調用。
在你的情況下:
def my_custom_decorator(f):
def outer_function(*args):
res = f(*args)
return res + 5
return outer_function
@my_custom_decorator
def A_and_C(a, c):
return a+c
print(A_and_C(2,3))

TA貢獻1859條經驗 獲得超6個贊
你可以這樣做
def add5(*arg):
return sum(args)+5
print(add5(1,2))
這將對您傳遞給函數的所有參數求和,并將 5 添加到參數的總和中。輸出
8
添加回答
舉報