首页 > 其他 > 详细

全局变量和局部变量

时间:2021-01-11 23:04:18      阅读:27      评论:0      收藏:0      [点我收藏+]

全局变量一般大写,局部变量一般小写

global关键字,指代全局变量

如果函数内部无global关键字:

#优先读取局部变量,然后在读取全部变量

如果函数内部有global关键字:

#global  变量名  ,此时这个变量就是全局变量,可以对修改全局变量,可读取可修改

nonlocal关键字,指代上一级变量

无global的情况

def change_l():
name = ‘zzz‘
print("l-",name)
change_l() #输出l- zzz,未改变全局变量的值
print(NAME) #输出列表[‘a‘,‘b‘]
print("----------end-----------")

def change_o():
NAME.append(‘c‘) #可以对其里面的值进行操作
print("o-",NAME)
change_o()
print(NAME) #输出[‘a‘,‘b‘,‘c‘]
print("-------------end----------")

有global的情况

def change_m():
global NAME
name = ‘DDD‘ #修改全局变量为DDD
print("m-",name)
change_m()
print(NAME) #改变全局变量,输出DDD
print("-------------end----------")

nonlocal:指上一级变量

name = ‘code‘ #(1)
def one(): #(2)
name = ‘copy‘ #(5)
def two(): #(6)
nonlocal name #(8) #nonlocal指上一级变量name=‘copy‘,把copy修改成finished
name = ‘finished‘ #(9)
two() #(7)
print(name) #(10) 输出finished
print(name) #(3) 输出code
one() #(4)
print(name) #(11) 输出code
print("-------------end-----------")

全局变量和局部变量

原文:https://www.cnblogs.com/shadowfolk/p/14264629.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!