如何调用另一个函数中定义的函数?

2024-04-20 10:22:49 发布

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

今天我发现我找不到在另一个函数中调用函数的方法。除非我在main函数中显式返回它或使用闭包结构。但我想知道有没有别的方法来称呼它。或者,python允许我在函数中定义函数,但不允许我以后以简单的方式使用它们!你知道吗

我的代码是这样的,我想在定义它们之后调用b(),c(),d()。你知道吗

def a():
    def b():
        print 'b'
    def c():
        print 'c'
    def d():
        print 'd'
    print 'a'

>>> a()
a
>>> a.b
AttributeError: 'function' object has no attribute 'b'
>>> a.b()
AttributeError: 'function' object has no attribute 'b'

Tags: 方法函数no定义objectmaindef方式
1条回答
网友
1楼 · 发布于 2024-04-20 10:22:49

不能从a范围之外调用这些函数。它们被限制在a的范围内。你知道吗

您可以用与在函数中思考其他本地名称完全相同的方式来思考这些函数。例如:

def foo():
    bar = 42

正如不能在定义范围外引用本地函数一样,也不能在foo()范围外引用bar。你知道吗

相关问题 更多 >