1. 程式人生 > >python課程第10天《函式》

python課程第10天《函式》

---恢復內容開始---

一 基本語句:

  def 函式名字():        # 定義函式名稱

    函式內的語句        # 呼叫函式時,執行的命令

    return            # 返回一個值,可選,不填的話返回None

  函式名字()          # 呼叫函式

 

二 特點:

  可以在多出呼叫同一組程式碼!

 

三 返回值:

  如果沒有返回值的話:可能是因為每寫return語句,或者是return後面沒有跟變數。

  同時,如果使用了return語句,就不會繼續執行之後的語句。同樣可以結束該函式。

  如果有多個return語句的話,只執行第一個執行的return

  1,返回1個值:

    可以返回字串,列表,字典等等單個的任何資料型別。

    只要返回了資料型別,就可以被接收到。

  2,返回兩個以上的值:

    return 返回結果1,返回結果2        #就可以去返回多個返回值了

    同樣,返回n個值的時候,需要用n個變數去接受。如果接受變數和返回值數量不符的時候,會報錯!

    但是可以使用一個變數去接受多個返回值,但是這個變數最後會變成一個元組。

  3,1個變數可以接受多個返回值的原因:

    元組、列表是可以解包的,3個元素的元組、列表可以批量賦值給3個變數。

    字典也是可以解包的,但是由於解包出來是無序的,所以不常用!

 

四 傳入引數:

def 函式名(形參):

  語句(其中可以呼叫傳入的引數進行處理!

函式名稱(傳入的實參)

 

  在呼叫函式的過程中可以傳入引數!

  引數包括形參和實參:形參類似於佔位符,在設定函式的時候進行定義,在呼叫函式的時候將匯入實參,即包含實際資料的引數!

  注意:在最近做的ATM程式中,想要繼承上一級函式的引數的時候可以使用傳參功能,而可以不使用global語句!這裡應該是之前學的知識沒有用到

實處導致的!

  

五  引數的型別:

    位置引數

:按照位置進行傳入的引數 :

    函式名稱(1,2)

    關鍵字傳參:按照形參名字進行傳參:

    函式名(a = 1,b =1)

      注意:可以兩種傳參一起用,但是必須先使用關鍵傳參,之後再使用位置傳參。否則可能導致一個形參得到兩個實參,而報錯!

    位置引數必須傳入引數,否則報錯。

    關鍵字傳參是可以定義預設值的。

    在形參中,預設值一定要放在位置引數之後!  

    動態引數:*args:可以接受任意數量的引數。後面的args意思是很多arguments的意思!(接受按照位置傳參的值,組織成一個元組)

      *可以把後面的引數程式設計一個動態引數,可以無限多地接受引數!

      動態引數如果不傳引數,就返回一個空的元組!

    動態引數應該放在所有位置引數之後!但是應該放在預設引數之前!

    動態引數是不能接受按照關鍵字傳參的功能。

    動態引數2:**kwargs:可以接受用key = value進行傳入。這時候,得到的就是一個字典的資料型別了。(接受的是按照關鍵字傳參的值,組成一個字典!)

    注意:以上兩種接受方式是可以同時使用的! 

 

    引數的順序總結:位置引數、動態元組引數、預設引數、動態字典引數。

     


六 一些常見的問題:

 

想把列表裡的所有元素傳到一個動態引數中?

傳列表裡的元素為引數!

def func(*args):

  print(args)

l = [1,2,3,4,5]

func(*l)

>>>(1,2,3,4,5)

 

傳字典中的鍵值對為引數!

def func(**kwargs):

  print(kwargs)

d = {'a' : 1,'b' : 2,'c' : 3}

func(**d)

>>>{'a' : 1,'b' : 2,'c' : 3}

 

七 給函式增加備註:

在函式的開頭直接寫一個長字串,就可以對函式進行註釋

格式:

  對函式進行大體說明

  再對引數進行具體說明

  再說return返回的是什麼東西

 

按照這個順序進行說明,才是標準的格式!

    

  

  

 

---恢復內容結束---