Python中,全局变量可以在函数外定义,也可以在函数内定义,具体实例代码如下:
一、在函数外申明全局变量
a=1 b=3 def m(): print(a,b) if __name__=='__main__': m()
输出结果为:
1,3
二、在函数内申明全局变量,需要使用到关键字global
def m(): n() print(a,b) def n(): global a,b a=1 b=3 if __name__=='__main__': m()
注意,申明全局变量的函数必须要被先被使用全局变量函数前被调用,否则会出错
三、全局变量被定义后,所有函数都能访问,但是如果要做运算或者拼接等动作,都会必须再次申明,否则会出错
具体实例如下:
1、直接修改值是没有问题的,具体代码如下:
a=1 b=2 c='c' d=3 def m(): global a a=5 b=2+1 c="d" d=a+1 print(a,b,c,d) if __name__=='__main__': m()
输出结果为:
5 3 d 6
2、如果这样做运算或者拼接,就会报错,实例如下:
a=1 b=2 c='c' d=3 def m(): a=a+1 c=f"{c}d" print(a,b,c,d) if __name__=='__main__': m()
结果如下:
所以,在函数中,如果全局变量要参与运算,或者自加,都需要使用global申明,作了申明后,再做以上操作就不会出错
a=1 b=2 c='c' d=3 def m(): global a,c a=a+1 c=f"{c}d" print(a,b,c,d) if __name__=='__main__': m()
这个时候就可以正常输出结果:2 2 cd 3
下一篇: numpy.asarray函数详解
上一篇:numpy中reshape函数用法详解
评论