在另一个函数内部调用函数(嵌套)

2024-07-07 07:44:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Python函数

def outer_function():
    def inner_funtion():
        print ('inner message')
    print('outer message')
    sys.exit()

如何调用内部函数?我对inspect库很陌生,如果这符合闭包的条件,我就闭包。你知道吗


Tags: 函数messagedefsysexitfunction条件inner
3条回答

可以在定义inner_function()的范围内的任何地方使用inner_function(),也就是定义inner_function()之后outer_function()的任何地方。你知道吗

我发现自己经常使用这种技术。 正如一位评论者所写,你只需称之为:

def outer_function():
    def inner_funtion():
        print ('inner message')
    print('outer message')
    inner_function()
    sys.exit()

>>> outer_function()
outer message
inner message

这只在outer_function()的范围内起作用,如果尝试在outer_function()之外的任何地方调用inner_function(),则会返回错误。你知道吗

使用嵌套函数是一种很好的技术,可以清除其他难以处理的顶级函数。你知道吗

至于你的第二个问题,the top answer here比我做得更好。你知道吗

您可以将它作为任何其他函数inner_funtion()调用,但它显然只能在outer_function范围内访问。你知道吗

相关问题 更多 >