Python 有没有办法在函数外部创建变量,并在函数内部更改它?

Python 有没有办法在函数外部创建变量,并在函数内部更改它?,python,function,variables,Python,Function,Variables,我正在尝试访问一个变量,该变量是我在函数内部创建的,位于函数外部。这就是我所做的: def add(a,b): v = a + b print(v) add(5,5) print(v) 但是,它告诉我,当我尝试在函数外部打印它时,它没有定义。然后,我首先在函数外部创建变量,然后在函数内部更改它。这就是我为此所做的: v = 0 def add(a,b): v = a + b print(

我正在尝试访问一个变量,该变量是我在函数内部创建的,位于函数外部。这就是我所做的:

    def add(a,b):
        v = a + b
        print(v)

    add(5,5)

    print(v)
但是,它告诉我,当我尝试在函数外部打印它时,它没有定义。然后,我首先在函数外部创建变量,然后在函数内部更改它。这就是我为此所做的:

    v = 0
    def add(a,b):
        v = a + b
        print(v)

    add(5,5)

    print(v)

在本例中,它只是在最后一行打印出0,而不是10。有没有办法在变量位于函数内部时保持对变量的更改,而不是保持不变?

我认为您需要在函数中的变量前面添加一个
global
关键字

编辑
我没有看到原始帖子上的评论,只是重复他的观点——使用globals通常是一种不好的做法。

是的,您必须在函数中使用
global
语句。但是,这不是设计程序的推荐方法。可变全局状态不好。不惜一切代价避免它。那真是糟糕的做法。它也没有显示您打算如何实现此解决方案