#!/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