如何在python中的函数def中设置变量?

如何在python中的函数def中设置变量?,python,function,Python,Function,我有这样一个简单的代码: temp = 100 def my_fun(): temp += 10 return temp 调用此函数my_fun()后,我得到一个错误 local variable 'temp' referenced before assignment 我的代码怎么了?我在调用它之前设置了temp。但仍然是一个错误 感谢所有人。最好的办法是通过: def my_fun(temp): temp += 10 return temp temp =

我有这样一个简单的代码:

temp = 100
def my_fun():
    temp += 10
    return temp
调用此函数
my_fun()
后,我得到一个错误

local variable 'temp' referenced before assignment
我的代码怎么了?我在调用它之前设置了
temp
。但仍然是一个错误


感谢所有人。

最好的办法是通过:

def my_fun(temp):
    temp += 10
    return temp

temp = 100
temp = my_fun(temp)
但如果您确实希望从外部作用域访问它,请使用:

global temp

编辑:我看到您修改了您的问题-错误的原因是变量的范围。在函数中,该变量仅存在于函数级别,并且由于您没有实际分配或传入它,因此当您尝试递增它时,它不存在。

这是否回答了您的问题?