# a,b变量是全局变量,在整个py文件中都可以访问
a = 11
b = 12
# 定义一个函数
def first():
# 这个变量是函数内部定义的变量,属于局部变量,只能在函数中使用
c = "Hello"
# 大括号{} 是format()函数的用法,格式化
print("c = {}".format(c))
# 如果局部变量定义的名称与全局变量相同,相当于是在函数中又定义了一个新的局部变量,不会修改全局变量
# 当函数中使用某个变量时,如果该变量名与全局变量相同,默认使用局部变量
a = 21
print("函数内部a = {}".format(a))
# 函数内部如果想要修改全局变量
# 使用global关键字可以对变量进行声明,说明此变量是全局变量,还可以用来修改全局变量的值
global b
b = 22
# 使用locals,globals可以查看变量是属于全局变量还是局部变量
print("locals = {},globals = {}".format(locals(), globals()))
# 调用函数,如果不调用函数,修改变量就不会生效,因为不调用函数相当于未运行此代码块
first()
# 局部变量c只能在函数中使用
# print(c)
print("函数外部a = {}".format(a))
print("函数外部b = {}".format(b))
# Python中 locals可以查看局部变量,globals可以查看全局变量
# 在Python中,只有函数能够分隔作用域
if a < b:
# 变量d也属于全局变量,但不建议这样定义,因为这样定义只有当条件为真时才有变量d,条件为假时代码不运行,无变量d
d = 7
print(d)