Python函数的预定义参数组



当我们在多个函数中使用相同的参数时,有什么聪明的方法来编写高效的代码吗?

**kwargs是可以的,但我想使用默认值和输入。

例如,

def f1(a: float=0.01, b: int=1, c: str="hello"):
print("do something")
def f2(b: int=1, c: str="hello"):
print("do something different")

在这段代码中,我想要这样做(我知道这是无效的)。

bc = {b: int=1, c: str="hello"}
def f1(a: float=0.01, **bc):
print("do something")
def f2(**bc):
print("do something different")

(更新)我想在不同的函数中使用相同的一组参数。例如,多种机器学习算法(如学习率,epoch num, optimizer)

如果在多个函数中使用相同的参数,可能是时候将它们重构为一个类的实例属性了:

class f:
def __init__(self, b: int=1, c: str="hello"):
self.b = b
self.c = c
def f1(self, a: float=0.01):
print("do something")
def f2(self):
print("do something different")
obj = f(b=2, c="foo")
obj.f1(0.02)
obj.f2()

最新更新