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
添加回答
举报