# 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)
