函數基礎

函數:

  函數是組織好的,能夠重複使用,用來實現單一或相關聯功能的代碼段app

  函數即變量,變量必須先定義後使用,未定義而直接引用,至關與在引用一個不存在的變量名函數

函數定義:

  def 關鍵詞開頭():spa

    函數體code

  def是固定的,不能變,他就是定義函數的關鍵詞blog

  函數名,由數字,字母,下劃線任意組合,一樣不能以數字開頭,要有可描述性class

  註釋:每一個函數都應該對功能和參數進行相應的說明,應該寫在函數下面的第一行,以加強代碼的可讀性。變量

  調用:就是函數名加括號()循環

函數返回值 return

  在函數中若是遇到return,直接結束函數,return之後的內容不會執行,做用與循環中的break差很少數據類型

  在沒有返回值得狀況下,print(def 函數())返回None,引用

  return   單個值  時,返回的這個元素的類型就是什麼類型

  return 多個值  時,返回的值是一個元組,全部的返回值做爲元組中的一個函數

def func1():
    a = 1
    b = 2
    c = []
    d = "alex"
    e = {}
    return  a,b,d       #(1, 2, 'alex') <class 'tuple'>
# print(func1(),type(func1()))    

函數的參數(形參和實參)

形參即變量名(變量的名字)實參是指變量值,函數調用則將值綁定到名字上,函數調用結束後,解除綁定

應用:

  位置參數:按照從左到右的順序定義的參數  一一對應

    位置形參:必選的參數

    位置實參:按照位置給形參傳值

  關鍵字參數:按照key= value的形式定義實參  

    無需按照位置爲形參傳值

    注意的問題:關鍵字實參必須在位置實參的右面,位置參數在左,關鍵字參數在右

          對同一個形參不能重複傳值,即位置參數賦值後,右面不能再以關鍵字參數賦值,否則會報錯

  默認參數:形參在定義的是就已經爲其賦值

    能夠傳值,也能夠不傳值,常常變化的參數能夠定義成位置參數,變化較小的能夠定義成默認參數(形參)

    注意問題:1.只在定義時賦值一次

          2.默認參數定義在位置形參右邊

          3.默認參數一般最好定義成不可變的類型

默認參數中的一個陷阱點

  默認參數若是定義成可變的類型。例

def my_func1(a,b=[]):
    b.append(a)
    print(b)
my_func1("alex")        #['alex']
my_func1("taibai")      #['alex', 'taibai']

當默認參數定義成可變的類型時,這個可變的數據類型(例如list)的地址是指向的同一個。即,後面添加參數的都會出如今這個(list內)地址內部,而不是又新建一個列表。

相關文章
相關標籤/搜索