1. 程式人生 > >Python__函數

Python__函數

位置實參 報錯 定義類 入參 容器類 傳遞 才會 默認參數 ins

一:為何用函數與不用函數的問題?

  組織結構不清晰

  代碼榮譽

  無法統一管理且維護難度大

二:函數分類

  內置函數

  自定義函數

三:為何要定義函數

  函數即變量,變量必須先定義後使用

工具是具備某一種功能的物件,就是程序中函數的概念,實現準備工具的過程稱為函數的定義,遇到特定的場景拿來就用稱為函數的調用。

(1)函數的定義與變量的定義類似,沒有實現定義變量,而直接引用變量,會報錯

(2)沒有事先定義函數,而調用函數,相當於引用一個不存在的變量

def foo():
print(‘from foo‘)
bar()
def bar():
print(‘from bar‘)

foo()
不會報錯,需要明確函數的使用分為定義階段和調用階段

四:函數的定義階段發生了什麽事情?
只檢測語法,不執行代碼

函數的定義語法
def 函數名(arg1,arg2,arg3,...):
‘‘註釋‘‘
函數體
return 返回值
def select(sql):
pass
def update(sql):
pass
def delete(sql):
pass
def insert(sql):
pass
五:函數的返回值和函數調用的三種形式
def func():
  print(‘from func‘)
  return 0
func()
函數中可以沒有return,此時的返回值為None,應該等同於Return None,return,或者沒有Return

大前提:return的返回值沒有類型限制
    Rreturn可以返回多個值,最後返回的為元組包含的值
六:什麽時候該有返回值?
  調用函數:結果一系列的操作,最後要拿到一個明確的結果,則必須有返回值,通常有參函數需要有返回值,輸入參數,結果計算,得到一個最終的結果。
七:什麽時候不需要有?
  調用函數,僅僅只是執行一系列的操作,最後不需要有什麽結果,則無需返回值,通常無參函數不需要有返回值。
八:函數調用的三種形式?
  函數調用的語句形式
  函數調用的表達式形式
  函數調用可以當做另外一種函數的參數
九:函數參數
  形參:在定義函數時,括號內的參數稱為形參
  實參:在調用函數時,括號內的參數稱為實參

  特點:形參就是變量名,實參就是變量值
  在調用階段,實參才會綁定形參,調用結束後,解除綁定。
十:參數的分類
(1)位置參數:按照從左到右的位置依次定義的參數
    位置形參:必須參數,多一個不行,少一個不行
    位置實參:與形參按照位置一一對應
    關鍵字參數:指的是按照name=value的形式,給name傳值
    註意:位置實參必須在關鍵字實參前面,一定不要對同一個形參多次傳值
(2)默認參數
    在定義階段,就已經為形參傳值,意味著在調用階段可以不用傳值
    註意:默認參數僅在定義階段賦值一次,而且僅一次,默認參數的值應該為不可變類型
十一:可變長參數和命名關鍵字參數
    可變長參數指的是實參的個數可變,不固定
    實參包括位置實參和關鍵字實參
    實參必須要有兩種機制來分別處理按照位置定義的實參溢出的情況:*,和按照關鍵字定義的實參溢出的情況:**
十二:函數對象
  函數本身是第一類對象,指的是函數可以被當做數據傳遞
  數據可以當做參數傳入,可以當做函數的返回,可以當做容器類型的元素
  





Python__函數