千峰#1.10.7
# global 变量的范围
# 局部变量 全局变量
# 声明在函数外层是全局的,所有函数都可以访问
name = '月月'
def func():
# 函数内部声明的变量,局部变量仅限于在函数内部使用
s = 'abcd'
s += 'X'
print(s, name)
def func1():
global name # 不修改全局变量,只是获取打印,但是如果要发生修改全局变量,则需要在函数内部声明:global 变量名
print(name)
name += '会弹吉他' # 报错: 函数内部的变量可以随便修改赋值,但是全局的变量就不能随便在函数体中进行修改
print('func2修改后的name是:', name)
# print(s) 报错
def func2():
name = "小月月" # 局部变量与全局变量同名
name += '弹吉他的小美女'
print(name)
# func2()
func1() # func2修改后的name是: 月月会弹吉他
func() # abcdX 月月会弹吉他
func2() # 小月月弹吉他的小美女
# 局部和全局
# 全局变量如果是不可变在函数中进行修改需要添加global关键字
# 如果全局变量是可变的,在函数中修改的时候就不需要添加global
name = '月月'
list1 = [1, 2, 3, 4]
def func():
name = '蕊蕊'
print(name)
def func1():
global name
print(name)
name += '真漂亮!'
# 修改列表
list1.append(8)
print(list1)
def func2():
name1 = 'lucy'
name1 += 'hhhh'
print(name1) # 自己的
global name
print(name)
func1()
func()
func2()



