我不理解 python 中的用户定义函数
Im not understanding user defined functions in python
我是 python.can 的新手,谁能解释一下 a、c、b 是如何打印的?我知道 foo 首先执行然后打印 a 但之后我什么都不懂。
def foo():
print("a")
bar()
print("b")
def bar():
print("c")
foo()
Output:
a
c
b
正如您提到的,首先调用 foo
并打印 a
。然后在 foo
函数中我们调用 bar
,在 bar
中我们打印 c
然后函数 bar
return 到 foo
函数并继续打印 b
。我希望它能澄清更多正在发生的事情。
您有 2 个独立的函数:foo() 和 bar()
def foo():
print("a")
bar()
print("b")
def bar():
print("c")
foo()
两个函数都处于初始化状态(加载但未执行)但未被调用(执行)。
最后的 foo() 语句现在将只调用 foo() 函数。
好的,现在让我们逐步了解 foo() 函数。
- 它打印("a") - 正如预期的那样
- 它调用 bar() 函数。因此,我们现在转到 bar() 函数。
正如我们所见,bar() 函数将打印("c") 并在那里结束。
因此,我们回到 foo() 函数并在那里继续。
- print("b") 将被执行。
事情是这样的:
- 第一个函数绑定到名称
foo
。
- 第二个函数绑定到名称
bar
。
- 我们调用绑定到
foo
的函数:
- 我们将
"a"
打印到控制台。
- 我们调用绑定到
bar
的函数:
- 我们将
"c"
打印到控制台。
- 到达函数末尾,我们return
None
.
bar()
的 return 值没有做任何事情,因此我们将其丢弃。
- 我们将
"b"
打印到控制台。
- 到达函数末尾,我们return
None
.
foo()
的 return 值没有做任何事情,因此我们将其丢弃。
- 我们已经到达脚本的末尾,因此 Python 正常退出。
我是 python.can 的新手,谁能解释一下 a、c、b 是如何打印的?我知道 foo 首先执行然后打印 a 但之后我什么都不懂。
def foo():
print("a")
bar()
print("b")
def bar():
print("c")
foo()
Output:
a
c
b
正如您提到的,首先调用 foo
并打印 a
。然后在 foo
函数中我们调用 bar
,在 bar
中我们打印 c
然后函数 bar
return 到 foo
函数并继续打印 b
。我希望它能澄清更多正在发生的事情。
您有 2 个独立的函数:foo() 和 bar()
def foo():
print("a")
bar()
print("b")
def bar():
print("c")
foo()
两个函数都处于初始化状态(加载但未执行)但未被调用(执行)。 最后的 foo() 语句现在将只调用 foo() 函数。
好的,现在让我们逐步了解 foo() 函数。
- 它打印("a") - 正如预期的那样
- 它调用 bar() 函数。因此,我们现在转到 bar() 函数。 正如我们所见,bar() 函数将打印("c") 并在那里结束。 因此,我们回到 foo() 函数并在那里继续。
- print("b") 将被执行。
事情是这样的:
- 第一个函数绑定到名称
foo
。 - 第二个函数绑定到名称
bar
。 - 我们调用绑定到
foo
的函数:- 我们将
"a"
打印到控制台。 - 我们调用绑定到
bar
的函数:- 我们将
"c"
打印到控制台。 - 到达函数末尾,我们return
None
.
- 我们将
bar()
的 return 值没有做任何事情,因此我们将其丢弃。- 我们将
"b"
打印到控制台。 - 到达函数末尾,我们return
None
.
- 我们将
foo()
的 return 值没有做任何事情,因此我们将其丢弃。- 我们已经到达脚本的末尾,因此 Python 正常退出。