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