Python 尝试使用函数(整数)更改变量

Python 尝试使用函数(整数)更改变量,python,python-3.x,function,Python,Python 3.x,Function,我想取一个赋值为整数的变量,然后调用一个函数,这个函数可以简单地添加到该变量的数字上 这就是我尝试过的: gold = 0 print(gold) def addgold(gold): gold + 1 = gold addgold(gold) print(gold) 正如评论所说,总的来说,这是一件坏事。 但是,您可以这样做: gold=0 印刷品(金色) def addgold(): 全球黄金 黄金+=1#与黄金=黄金+1相同 addgold(黄金) 印刷品(金色) 不过,在

我想取一个赋值为整数的变量,然后调用一个函数,这个函数可以简单地添加到该变量的数字上

这就是我尝试过的:

gold = 0
print(gold)

def addgold(gold):
    gold + 1 = gold

addgold(gold)
print(gold)

正如评论所说,总的来说,这是一件坏事。 但是,您可以这样做:

gold=0
印刷品(金色)
def addgold():
全球黄金
黄金+=1#与黄金=黄金+1相同
addgold(黄金)
印刷品(金色)

不过,在这种情况下,最好在任何您想使用的地方使用
addgold()
,因为它们做同样的事情。

我想您是想退货:

gold=0
印刷品(金色)
def addgold(黄金):
黄金=黄金+1
返还黄金
黄金=黄金(黄金)
印刷品(金色)
另外,为了明确函数、它们的参数和局部变量,下面的代码与上面的代码完全相同:

gold=0
印刷品(金色)
def addgold(foo):#参数现在命名为foo
foo=foo+1
返回foo
黄金=黄金(黄金)
印刷品(金色)

问题之一是,您应该在addgold函数中返回变量的值,然后当您调用它时,会给您一个数字,您可以将其保存在新变量中 像这样的代码:

gold= 0
def addgold(gold):
    gold =gold +1
    return gold
new_gold = addgold(gold)
print(new_gold)

祝你好运。

(1)你的意思可能是
gold=gold+1
,而不是
gold+1=gold
(2)一般来说,你不能在Python中这样做
int
对象是不可变的。但是正确的方法取决于你到底在做什么。函数中指向
gold
的强制链接是一个参数,它就像一个局部变量——它不是你在调用中传递的同名全局变量。作为一个程序员,你应该非常非常努力地避免使用全局变量。是的,我完全同意。但我认为这是最接近问题的地方