Python 全局变量与局部变量

#!/usr/bin/env python
# -*- coding:utf-8 -*-

# name = "wh"   #姓名为全局变量
# # 函数嵌套,嵌套的函数调用全局变量时不会改变局部变量
# def xingming():
#     name = "wwhh"   #这里是局部变量
#     def nianlin():
#         global name  #调用全局变量的name
#         name = "zhm"  #对全局变量的name进行重新赋值
#         num = 20
#         print(name)   #输出zhm
#     nianlin()
#     print(name)    #这里的name任然是局部变量,没有改变,输出wwhh
#
# print(name)    #全局变量wh
# xingming()     #调用函数
# print(name)     #全局变量已经改了,输出zhm

name = "wh"   #姓名为全局变量
# 函数嵌套,nonlocal指上一级变量
def xingming():
    name = "wwhh"   #这里是局部变量
    def nianlin():
        nonlocal name  #调用上一级变量的name
        name = "zhm"  #对name进行重新赋值
        num = 20
        print(name)   #输出zhm
    nianlin()
    print(name)    #这里的name已经改变了,输出zhm

print(name)    #全局变量wh
xingming()     #调用函数
print(name)     #全局变量没有改变,输出wh

 

posted @ 2022-04-01 16:28  一百零八斤好汉  阅读(40)  评论(0)    收藏  举报