我正在使用 Python 包中的一个类,我向该类传递必须只有一个参数的函数,例如:
def exampleFunction1(only_argument_1):
doSomething1(only_argument_1) #perform some operations
Run Code Online (Sandbox Code Playgroud)
然后,一旦以上述方式定义了所有需要的函数,我需要以这种方式传递它们:
python_package_class.function1 = exampleFunction1
python_package_class.function2 = exampleFunction2
python_package_class.function3 = exampleFunction3
Run Code Online (Sandbox Code Playgroud)
现在让我们假设 doSomething 对于我的所有函数都是相同的,除了它需要另一个可以更改的参数这一事实,例如(1、2 和 3 只是示例,参数可以是任何内容):
def exampleFunction1(only_argument_1):
doSomething(1, only_argument_1) #perform some operations
def exampleFunction2(only_argument_2):
doSomething(2, only_argument_2) #perform some operations
def exampleFunction3(only_argument_3):
doSomething(3, only_argument_3) #perform some operations
Run Code Online (Sandbox Code Playgroud)
通过仅定义一个 exampleFunction并向其传递两个参数,可以大大简化这一过程:
def exampleFunction(a, only_argument_1):
doSomething(a, only_argument_1) #perform some operations
Run Code Online (Sandbox Code Playgroud)
但是,不幸的是,这会给我带来一个错误,因为正如我所说,我正在使用的 Python 包严格要求函数只接受一个参数。
所以我的问题是,是否有一种“隐式方式”将参数传递 a 给以下代码行中的 exampleFunction ?
python_package_class.function1 = exampleFunction
Run Code Online (Sandbox Code Playgroud)