python:函式基礎、高階
阿新 • • 發佈:2018-12-16
#函式
###目標:
* 能夠說出函式的作用
* 理解引數
* 作用域:全域性變數和區域性變數
* 理解return關鍵字
* 預設引數
* 關鍵字引數
* 可變引數
* 字典引數
* 匿名函式
####函式
- 概念:將具有獨立功能的程式碼塊組織成為一個整體,使其具有特殊功能的程式碼集
- 作用:加強程式碼的複用性,提高程式編寫的效率
-
基本語法
# 函式定義:形參 def 函式名(引數): 函式體 return 結果 # 根據你的需求來決定是否return # 函式呼叫:實參 變數名 = 函式名(引數)
-
作用域
- 區域性變數:函式內部定義的變數從函式定義位置開始到函式定義結束位置有效
- 全域性變數:函式外部定義的變數,從變數定義位置開始,在整個檔案中有效。
global 變數名
-
預設引數
# 預設引數的定義必須在位置引數的右側 # 預設引數在呼叫傳值時,按照位置引數進行對待,從左至右依次賦值 def test(a,b=2,c=3): pass test(100,200,300) # a=100 b=200 c=300
-
關鍵字引數
# 關鍵字引數必須出現在位置引數的後面 # 不允許使用關鍵字引數對同一個形參進行多次賦值 # 關鍵字引數既可以為位置引數賦值,也可以為預設引數賦值 # !!關鍵字引數只能出現在位置引數的後面,賦值時必須使用關鍵字引數傳值, def test(a=100,b=200): pass test(b=1)
-
可變引數
# 可變引數在一個函式/方法定義中只能出現一個 # 可變引數只能出現在位置引數的後面,位置引數在左側,可變引數在右側 # !!先定義位置引數,再定義可變引數,最後定義預設引數 def test(*args): pass test(1,2,3,4,5)
-
字典引數
# 字典引數在一個函式/方法定義中只能出現一個 # 先定義位置引數,再定義可變引數,然後定義預設引數,最後定義字典引數 def test(**kwargs): pass test(a=1,b=2)
-
遞迴函式(瞭解)
遞迴分為兩個重要的階段:遞推+回溯
-
匿名函式:lambda
# 格式一: # 定義: 函式名 = lambda 形參 : 返回值 # 呼叫: 結果 = 函式名(實參) add = lambda a,b : a+b add(5,4) # 格式二: # 定義並呼叫: 結果 = (lambda 形參 : 返回值)(實參) c = (lambda a,b : a+b)(5,4)
-
注意:
- parameter:形參
- arguments:實參
- 函式引數位置:位置引數,可變引數,預設引數,字典引數