猿问

很简单:为什么函数 B 中的函数 A 不更改传递给它的全局变量?

代码不会向“ctr”变量添加一个。怎么办?


ctr = 0

def x(ctr):    #function A

    ctr+=1

def y():    #function B

    global ctr

    x(ctr)    #function A

y()

print(ctr)

>>> 0


叮当猫咪
浏览 100回答 1
1回答

开心每一天1111

整数按值传递,而不是按引用传递。您必须在 中修改全局变量,或返回分配给值的结果:global ctrx()ctr = 0def x(ctr):    #function A    ctr+=1    return ctrdef y():    #function B    global ctr    ctr = x(ctr)    #function Ay()print(ctr)
随时随地看视频慕课网APP

相关分类

Python
我要回答