python函数-2

全局变量:作用全局,所有的位置均可读

注意,所有的全局变量必须大写(默认规则)
name = 'HAHA'

def f1():
name = 's1' #局部变量name,只作用在f1()中
age = 18
print (name,age)

def f2():
age=19
print (name,age) #当在函数内部未找到name时,检查是否为全局变量,如果是,直接输出全局变量的值

def f3():
 global name #声明name为全局变量
name = 's2' #此时,对name的赋值,作用于全局,name被修改
age = 20
print (name,age)

f1()
print (name)
f2()
print (name)
f3()
print (name)

执行结果:
s1 18
HAHA  #全局变量name未修改
HAHA 19
HAHA
s2 20
s2  #全局变量name修改为name

当全局变量为字典、列表时,可以被修改:

NAME = [11,22,33]

def f1():
    NAME = 's1'     
    age = 18
    print (NAME,age)

def f2():
    age=19
    NAME.append(99)     #通过append的方法,可以修改全局变量
    print (NAME,age)   


f1()
print (NAME)
f2()
print (NAME)

执行结果:
s1 18
[11, 22, 33]
[11, 22, 33, 99] 19
[11, 22, 33, 99]

猜你喜欢

转载自funny121.iteye.com/blog/2341617