# 局部变量在函数内部定义的变量是局部变量
# 全局变量在函数外部定义的变量 或 在函数内部global定义的变量为全局变量
# 作用域:
# 局部变量在函数的内部
# 全局变量的作用域横跨整个文件
'''
example 全局变量
'''
url = 'http://www.zyt8.cn'
def funcGlobal () :
# 在函数内部修改全局变量 需使用global函数
global url
print('张宇童的博客地址是%s' % (url))
url = 'http://blog.ecuuu.com'
funcGlobal () # 张宇童的博客地址是http://www.zyt8.cn
print(url) # http://blog.ecuuu.com
'''
example 局部变量
'''
def funcPart ():
name = '张宇童博客'
print(name)
funcPart()
# print(name) # NameError: name 'name' is not defined
# 如果函数外没有global声明的变量将声明一个全局变量
# 如果函数外部有global声明的变量将可以直接修改 被global声明的变量
# locals 和 globals
# locals 当前作用域里面的所有变量
# 获取当前作用域范围内的所有变量
a = '张宇童'
b = 'http://www.zyt8.cn'
res = locals()
print(res)
def localsExample():
a = '张宇童'
res = locals()
print(res)
localsExample()