python学习DAY8(局部变量与全局变量)

# Author:barry allen
# -*-coding:utf-8 -*-
sex='b'                     #全局变量
def view(name):
    #4.在函数内修改全局变量sex
    global sex              #4.声明为global方可修改
    sex='a'
    print(sex)
    #--------------------------------------------------------
    #sex='a'                #1.此时在函数输出语句中输出sex,该sex为a而不是b,函数外调用sex时则是调用b
    print("before change",name)
    name="LIN"              #2.此函数为name变量的作用域
    #age=12                  #3.此时age在函数外面无法调用,因为age的作用域只在该函数中
    print("after change",name)
    #--------------------------------------------------------


name='lin'
view(name)
print(sex)


#----------------------------------------
name=['a','1','2']
def func():
    print(name)
    name[0]='b'               #函数对全局变量的列表name作修改,会改变全局变量的值
    print(name)
func()
print(name)                    #此时name已经经过函数的修改而改变了




#**----------------------------
#global  意为可以修改全局变量的值
#除了整数,字符串等单个变量,集合、字典、列表等都可以直接在函数内修改相应的全局变量
#当局部变量与全局变量同名时,局部变量在该子程序有效,且在该子程序中调用的是局部变量的值。全局变量在除该子程序外的全局有效

 

posted @ 2019-07-08 11:30  LBC不认输  阅读(143)  评论(0编辑  收藏  举报