首页 > 解决方案 > 我不理解python中的用户定义函数

问题描述

我是python的新手。谁能解释一下a,c,b是如何打印的?我知道 foo 首先执行然后打印 a 但之后我什么都不懂。

    def foo():
        print("a")
        bar()
        print("b")
    def bar():
        print("c")
    foo() 

    Output:
    a
    c
    b

标签: pythonuser-defined-functions

解决方案


你有 2 个单独的函数: foo() 和 bar()

def foo():
    print("a")
    bar()
    print("b")
    
def bar():
    print("c")

foo()

这两个函数都在初始化(加载但未执行)但未调用(执行)。最后的 foo() 语句现在将只调用 foo() 函数。

好的,现在让我们逐步了解 foo() 函数。

  1. 它打印(“a”) - 正如预期的那样
  2. 它调用 bar() 函数。因此,我们现在转到 bar() 函数。正如我们所见, bar() 函数将打印(“c”)并在那里结束。因此,我们回到 foo() 函数并继续。
  3. print("b") 将被执行。

推荐阅读