Python---全局变量和局部变量

千峰#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()
上一篇:记录一个在程序退出时调用的函数atexit


下一篇:ssh 连接出现expecting SSH2_MSG_KEX_ECDH_REPLY失败解决