gpt4 book ai didi

Python3传递内部辅助函数的参数

转载 作者:太空宇宙 更新时间:2023-11-03 18:01:06 24 4
gpt4 key购买 nike

除了将辅助函数移到 bar 之外或传入 FUNC_TO_CALL 的字符串,然后根据字符串?

#foo.py
def bar(FUNC_TO_CALL)
def helper_function_1():
...
def helper_function_2():
...

FUNC_TO_CALL()

#main.py
foo.bar(bar.helper_function_1) #<- HOW DO I PASS IN THIS HELPER INTERNAL TO BAR AS ARGUMENT?

我有一个函数 bar ,其中有很多助手,我想通过传递给 bar 的参数来调用它们。另一种方法是将所有助手移至模块级别,但这很困惑,因为它们在 bar 之外毫无用处。

最佳答案

您可能想研究用 bar 制作装饰器的可能性:

def bar(helper):
def process():
print('preprocessing...')
# Anything you need to do prior to calling the helper function
helper()

return process

@bar
def helper_function_1():
print('helper 1')

@bar
def helper_function_2():
print('helper 2')

if __name__ == '__main__':
helper_function_1()
helper_function_2()

这给出了输出:

preprocessing...
helper 1
preprocessing...
helper 2

虽然辅助函数只是 bar 工作的一小部分,但它没有多大意义。

关于Python3传递内部辅助函数的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27658849/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com