2 qq 37915872 qq_37915872 于 2017.09.01 14:41 提问

Python两种导入方式对静态变量操作不一样,萌新求解

用from..import和import导入,用from导入的输出的value还是0,而import输出的是10,求大神帮忙,实在理解不通图片图片图片

1个回答

WLY19930402
WLY19930402   2017.09.08 11:08

这个跟你是用 from...import 还是 import... 没有关系,这里主要是变量的作用域。Test.py 文件中的 add10( ) 函数的作用其实就是
把全局变量 value 的值加上 10 然后赋值给一个新的变量 value,此时新的 value 是一个局部变量,也就是说 value+=10

相当于 value = value + 10 ,而等号左边的 value 是局部变量, 等号右边的 value 是全局变量, 这两个 value 是不一样的 ,所以
你 print value 输出的是全局变量, print t.value 输出的是局部变量。其实你完全可以不用相同的名字,以示区分:Value = value + 10
这样就不会出错了,希望对你有帮助!

Csdn user default icon
上传中...
上传图片
插入图片