Skip to main content
 首页 » 编程设计

python之为什么 python 不返回这个变量,我怎样才能让它工作

2025年05月04日11xing901022

当我运行以下程序时,它会打印“2”然后打印“1”,而我希望它打印“2”然后打印“2”。我做错了什么?

def thingy(a): 
    a= a + 1 
    print(a) 
    return a 
a=1 
thingy(a) 
print(a) 

如果您能提供帮助,非常感谢。

请您参考如下方法:

您还没有在全局范围内重新分配 a 变量。全局范围内的 a 变量与函数中的不同。为了更清楚,请看这个:

def thingy(arg): 
    arg = arg + 1 
    print(arg) 
    return arg 
 
 
a=1           # Assign a to 1 
thingy(a)     # Do some work without altering variable 
print(a)      # Print a, which is 1... 
a = thingy(a) # Here, a will be equals to two now. 

具有全局选项

您还可以通过在函数开头添加 global a 来编辑全局范围,并且不要向函数传递任何参数:

def thingy(): 
    global a 
    a= a + 1 
    print(a) 
    return a 
a=1 
thingy() 
print(a) 

但更喜欢第一种方法,更干净。