#6.2變量的做用域,是變量的可訪問範圍,也稱爲命名空間。在第一次
#給變量賦值時,python建立變量。第一次給變量賦值的位置決定了變量的做用域。
#做用域類型
#一個程序一般包含了變量、函數和其餘語句。變量和函數涉及可訪問範圍。一個程序中的變量和函數
#要麼在當前文件中定義,要麼就是python預先定義好。函數和程序文件劃分了不一樣的做用域。
#在同一個做用域中。變量名是惟一的。在不一樣的做用域中,相同的變量名也表示了不一樣的變量。
#在pyton中做用域範圍能夠分爲內置做用域、文件做用域、函數嵌套做用域和本地做用域。
#內置做用域和文件做用域被稱爲全局做用域。
#函數嵌套做用域有時,也稱爲本地做用域。
#根據做用域的範圍大小,做用域外部的變量和函數,能夠直接做用在做用域內使用;相反,做用域內的變量
#不能在做用域外直接使用。
#根據做用域範圍,一般將變量名分爲兩種:全局變量和本地變量。
#a 全局變量;
a =10
#參數b,是函數add內的本地變量。
def add(b):
#c是函數add內的本地變量,a是函數外部的全局變量。
c=a+b
return c
#調用函數;
print(add(5))
#在函數運行的過程當中,a add,是全局變量。b c是局部變量。內置函數print()
#做用域外的變量和做用域內的變量名稱相同時,遵循本地「優先」原則,此時外部的做用域被屏蔽
#---做用域隔離原則。
#例如:
a=10
def show():
#賦值,建立本地變量a
a=1000
print('int show():a=',a)
#調用函數,觀察輸出結果會發現,本地變量屏蔽了全局變量.
show()python
#將上面的函數稍做修改:
#賦值,建立全局變量a
a=10
def show():
#在此先打印a的值,看是否會使用全局變量。
global a
print("a=",a)
#賦值,建立本地變量.
a=100
print("a=",a)
#調用函數;
show()ide