Python之路(六)---> 函數、變量
阿新 • • 發佈:2018-10-22
() 參數名稱 外部 tro 標識 我們 (六) 函數聲明 局部變量 結束函數,選擇性的返回一個值給調用方,若沒有return相當於返回None。
Python中的函數和數學上的函數定義是不一樣的,從數學的角度上來說函數的定義:給定一個數集A,假設其中的元素為x。現對A中的元素x施加對應法則f,記作f(x),得到另一數集B。假設B中的元素為y。則y與x之間的等量關系可以用y=f(x)表示。我們把這個關系式就叫函數關系式,簡稱函數。函數概念含有三個要素:定義域A、值域C和對應法則f。其中核心是對應法則f,它是函數關系的本質特征。
Python中的函數是以def關鍵字開頭,後面接函數標識符和圓括號(),任何傳入參數和自變量必須放在圓括號中間,圓括號之間也可以用於定義參數。函數的第一行可以選擇性地添加註釋,函數內容以冒號起始,並且縮進。return[表達式]
Python定義函數使用def關鍵字,一般格式如下:
#函數的格式: #def 函數名(參數列表): # 函數體
默認情況下,參數值和參數名稱是按函數聲明中定義的順序來匹配的。當然我們也可指定。例:
#不指定時 def test(x,y,z): print(x) print(y) print(z) test(1,2,3) #執行結果:x=1,y=2,z=3 #指定時 def test(x,y,z): print(x) print(y)print(z) test(y=1,x=3,z=4) #執行結果:y=1,x=3,z=4
變量分為全局變量和局部變量。定義在函數內部的變量擁有一個局部作用域,這個變量我們成為局部變量;定義在函數外的擁有全局作用域,這個變量我們稱為全局變量。例:
total = 0 def sum(num1, num2): total = num1 + num2 print("局部變量 : ", total) return total sum(10, 20) print("全局變量 : ", total) #執行結果:局部變量 : 30 # 全局變量 : 0
當內部作用域想修改外部作用域的變量時,就要用到global和nonlocal關鍵字了。
global:修改全局變量,例:
NAME = "alex"
def test():
global NAME
print(NAME)
NAME = "root"
print(NAME)
test()
print(NAME)
#執行結果:
#alex
#root
#root
nonlocal:修改上一級變量,例:
name = "ton" def test(): name = "jock" def one1(): nonlocal name name = "root" one1() print(name) print(name) test() #執行結果: #ton #root
Python之路(六)---> 函數、變量