码迷,mamicode.com
首页 > 其他好文 > 详细

作用域,全局和局部变量

时间:2018-09-15 14:37:21      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:调用   局部变量   **kwargs   def   变量   乌龟   oldboy   函数调用   全局   

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、在程序的一开始定义的变量是全局变量,作用域是整个程序。
#当全局与局部变量同名时:在定义局部变量的子程序内,局部变量生效,在其他地方全局变量生效!

作用域,全局和局部变量

标签:调用   局部变量   **kwargs   def   变量   乌龟   oldboy   函数调用   全局   

原文地址:http://blog.51cto.com/12992048/2175546

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!