1. 程式人生 > >python變量的作用域一

python變量的作用域一

直接 觀察 類型 優先 範圍 局部變量 不同的 pyton 相同

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

#將上面的函數稍作修改:
#賦值,創建全局變量a
a=10
def show():
#在此先打印a的值,看是否會使用全局變量。
global a
print("a=",a)
#賦值,創建本地變量.
a=100
print("a=",a)
#調用函數;
show()

python變量的作用域一