【问题标题】:Procedure for getting an output of a def function code in python version 3在 python 版本 3 中获取 def 函数代码输出的过程
【发布时间】:2015-01-27 10:59:59
【问题描述】:

我正在尝试练习 def 函数代码如何工作的问题。虽然我相信我的程序到目前为止是不正确的。 代码如下:

def main():
    max=0
    getMax(1,2,max)
    print(max)

def getMax(v1,v2,max):
    if (v1>v2):
        max=v1
    else:
        max=v2
main()

这是我的推理。

主函数的执行从 max=0 开始。下一行初始化了(局部变量?)getMaxv1 替换为 1,v2 放置为 2,max 替换为 0。回到主函数,python 打印 max 为 0。这就是为什么输出为 0。 main 函数现在完成了,它将控制权返回给它的调用者(即main())。 我的程序正确吗? 让我感到困惑的是,我通常在看到 def main() 函数之前首先看到 getMax(或我认为它被调用的局部变量)。这里的顺序重要吗?因为在我看来,def main 函数中的 if 循环完全被忽略了。

【问题讨论】:

    标签: main function


    【解决方案1】:

    函数getMax() 中的参数max 获取main() 中变量max 的值的副本。那里的更改不会传播回调用者。

    【讨论】:

    • 那么我的解释就错了吗?另外,我仍然不明白在 def 函数中顺序是否重要。
    猜你喜欢
    • 2016-06-17
    • 1970-01-01
    • 1970-01-01
    • 2015-06-23
    • 2019-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    相关资源
    最近更新 更多