作用域,全局和局部变量-创新互联
def test3(name,x=2,*args,**kwargs): #函数调用函数时,要在被调用的前面
print(name)
print(x)
print(args)
print(kwargs)
logger("TEST4")
#
#
def logger(source):
print("from %s" %source)
test3("alex",age=18,sex="m",x=4)
#局部变量
school="old boy"
def change_name(name):
global school #强制把局部变量改成全局变量,覆盖已有的全局变量
school="MAGE"
print("before change",name,school)
name="Alex" #这个函数就是这个变量的作用域
print("after change",name)
name="alex"
change_name(name)
print(name)
print(school)
def change_name(): #绝对不要这么改!!!!单独的字符串,单独的整数!!
global name
name="alex"
#
change_name()
print(name)
列表,字典,集合都可以在函数中改全局变量!(字符串,整数不能再里面改)
school="oldboy"
names=["alex","zhaz","rain"]
def change_name():
names[0]="乌龟"
print("inside",names)
change_name()
print(names)
#全局与局部变量
#1、在子程序中定义的变量为局部变量,局部变量的作用域是定义该变量的子程序。
#2、在程序的一开始定义的变量是全局变量,作用域是整个程序。
#当全局与局部变量同名时:在定义局部变量的子程序内,局部变量生效,在其他地方全局变量生效!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享标题:作用域,全局和局部变量-创新互联
分享URL:http://scgulin.cn/article/dcipco.html