Python 如何从子函数更改局部变量

Python 如何从子函数更改局部变量,python,Python,我有以下代码: my_var=1 def a(): def b(): my_var=2 b() return my_var print(a()) 我正在尝试更改子函数b()中的变量my\u var。结果应该是2而不是1。但在我的代码中,它不起作用。如何解决这个问题?global是python中用来访问函数外部的实际变量的关键字。请尝试下面的代码 my_var=1 def a(): def b(): global my_va

我有以下代码:

my_var=1
def a():  
    def b():
        my_var=2
    b()
    return my_var

print(a())

我正在尝试更改子函数
b()
中的变量
my\u var
。结果应该是2而不是1。但在我的代码中,它不起作用。如何解决这个问题?

global
是python中用来访问函数外部的实际变量的关键字。请尝试下面的代码

my_var=1
def a(): 
    def b():
        global my_var
        my_var = 2
    b()
    return my_var

print(a())

您可以使用
global
或更好地从函数返回值并将其分配给变量。噢,太好了,谢谢!我不知道我在子函数中也使用了全局函数,谢谢!这回答了你的问题吗?是的,但我不确定它是否也用于子功能。谢谢非常感谢你!