远送从此别,青山空复情。

大家好,我是Python进阶者。

一、前言

前几天在Python交流白银群【小白】问了一道Python函数运算的问题,如下图所示。


盘点一个Python函数运行顺序的基础题目_深度学习

二、实现过程

这里【瑜亮老师】给了一个解答,他给这个函数做了一个拆解,如下图所示:

def bar(z, x=0):
    return z + x
def foo(x):
    return bar(3+x)
print(foo(2))


盘点一个Python函数运行顺序的基础题目_深度学习_02

因为bar(3+2)只传递了一个值给位置参数z,并没有给x传值,因此x还是使用它的默认值0

盘点一个Python函数运行顺序的基础题目_数据分析_03

3+2是在这个地方发生的。


盘点一个Python函数运行顺序的基础题目_python_04

值是这样传递的。


盘点一个Python函数运行顺序的基础题目_python_05

顺利解决粉丝的问题。后来【flag != flag】推荐了一个在线网站,https://pythontutor.com/visualize.html#mode=edit,可以可视化看到运行的过程,跟编辑器打断点的效果差不多。


盘点一个Python函数运行顺序的基础题目_编程语言_06

如果有遇到问题,随时联系我解决,欢迎加入我的Python学习交流群。

三、总结

大家好,我是Python进阶者。这篇文章主要盘点了一道Python函数处理的问题,文中针对该问题给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。