Python中的全局变量

在Python可以在函数中直接使用定义的全局变量,但是如果需要修改这个全局变量,那么就要在函数前面 global a表明在函数中的a是 全局变量a而不是重新定义的局部变量a

  • 这个代码就报错,因为全局变量a没有通过函数传参传递进来,所以在内部a只能做右值,不能做左值
a=998
def fun():
    c=3+a
    a=1
fun()
  • 下面这个代码段就是对的。
a=998
def fun():
    c=3+a
    print(c)
fun()
>>1001
  • 如果全局变量需要在函数内部进行修改,那么必须以这样的方式使用。
a = 109
def fun( a = a):
    a=1
    return a
a=fun()
print(a)
>>1
  • 实例则没有这个限制。
class A :
    def __init__(self):
        self.a=1

a=A()
a.a=3
def fun():
    a.a=4
fun()
print(a.a)
>>4
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容