首页 > 解决方案 > 为什么我的函数没有在 python 中执行?

问题描述

def a():
    x=20
    def b():
        global x
        x=88
        print("before calling b",x)
        b()
        print("after calling b",x) 
a()

我的代码在调试时没有显示错误,但是当我运行它时,它没有显示输出。它没有得到这个功能。

标签: pythonfunctionvariables

解决方案


在上面的代码中,您调用了a创建和设置局部变量x并定义嵌套函数的函数,但从不调用该函数。因此,您看不到任何打印件。

请注意,仅调用b()不是a一个好主意 - 因为此函数将递归调用自身而没有停止条件。相反,您可以如下编写:

def a():
    x=20

    def b():
        global x
        x=88


    print("before calling b", x)
    b()
    print("after calling b", x)
a()

推荐阅读