python和在if语句中赋值

2024-04-28 05:00:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python有点初学者,我发誓我有一个和我现在正在做的非常相似的程序。但是,因为某些原因,我不能让它工作。我能够找出我的问题,并创建了一个假的程序来解决它。程序如下:

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

如下所示:

^{pr2}$

为什么heading变量heading不保留值4?我试着把返程的方向全放了。没用。我试着把变量放在函数的括号里。也没用。。。你知道我做错了什么吗?在


Tags: 程序ifdef原因function方向globalyes
3条回答

行:

    heading=heading2

创建一个名为heading的新局部变量,它与传递到函数中的另一个名为heading的变量不同。在

您可以通过添加以下内容使函数分配给外部变量:

^{pr2}$

在指定标题之前:

def function():
    global heading
    if a==2:
        heading=heading2
        print 'yes'
        print heading

在函数内部,您正在创建一个名为heading的局部变量。这与在函数外部声明的heading不同。在

global语句在函数外没有意义。如果要修改全局变量,而不是引入局部变量,则需要在函数中放入global

def foo():
    global x
    x = x2

另外,不要使用全局变量。在

相关问题 更多 >