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