python和在if语句中分配变量值
我是python的初学者,我发誓我有一个非常类似于我现在工作的程序。但是,由于某种原因,我不能让它工作。我能够找出我的问题,并创建了一个假的程序来处理它。以下是该计划的内容:python和在if语句中分配变量值,python,Python,我是python的初学者,我发誓我有一个非常类似于我现在工作的程序。但是,由于某种原因,我不能让它工作。我能够找出我的问题,并创建了一个假的程序来处理它。以下是该计划的内容: global heading global heading2 global a heading=2 a=2 heading2=4 def function (): if a==2: heading=heading2 print 'yes' print headin
global heading
global heading2
global a
heading=2
a=2
heading2=4
def function ():
if a==2:
heading=heading2
print 'yes'
print heading
function()
print heading
这就是出现的情况:
yes
4
2
为什么heading变量heading不保持值4?我试着把回程的航向弄得到处都是。没用。我试着把变量放在函数的括号里。也不管用。。。你知道我做错了什么吗
heading=heading2
创建一个名为heading
的新局部变量,该变量与传递到函数中的另一个名为heading
的变量不同
通过添加以下内容,可以将函数指定给外部变量:
global heading
在指定标题之前:
def function():
global heading
if a==2:
heading=heading2
print 'yes'
print heading
在函数内部,您正在创建一个名为
heading
的局部变量。这与函数外部声明的标题不同。global
语句在函数外部没有意义。如果要修改全局变量,而不是引入局部变量,则需要将global
放入函数中
def foo():
global x
x = x2
另外,不要使用全局变量