1. 程式人生 > >Python學習-第2課(函式,函式文件)

Python學習-第2課(函式,函式文件)

一、函式

1.定義

  • 程式碼的一種組織形式
  • 一個函式一般完成一項特定的功能
  • 函式使用
    • 函式需要先定義
    • 使用函式,俗稱呼叫

2.函式的引數和返回值

  • 引數: 負責給函式傳遞一些必要的資料或者資訊
    • 形參(形式引數): 在函式定義的時候用到的引數沒有具體值,只是一個佔位的符號,成為形參
    • 實參(實際引數): 在呼叫函式的時候輸入的值
  • 返回值: 函式的執行結
    • 使用return關鍵字
    • 如果沒有return,預設返回一個None
    • 函式一旦執行return語句,則無條件返回,即結束函式的執行

 

3.引數詳解

  • 引數分類

    • 普通引數
    • 預設引數
    • 關鍵字引數
    • 收集引數
  • 普通引數

    • 參見上例
    • 定義的時候直接定義變數名
    • 呼叫的時候直接把變數或者值放入指定位置
            def 函式名(引數1, 引數2,....):
                函式體

            # 呼叫
            函式名(value1, value2,.......)

            # 呼叫的時候,具體值參考的是位置,按位置賦值
  • 預設引數

    • 形參帶有預設值
    • 呼叫的時候,如果沒有對相應形參賦值,則使用預設值

            def  func_name(p1=v1, p2=v2..........):
                func_block
      
            #呼叫1
            func_name()
      
            # 呼叫2
            value1= 100
            value2=200
            func_name(value1,value2)

二、四類引數

  • 普通引數
  • 預設引數
  • 關鍵字引數
  • 收集引數

1.關鍵字引數

  • 語法

      def func(p1=v1, p2=v2.....):
          func_body
    
      呼叫函式:
      func(p1=value1, p2=value2.......)
  • 比較麻煩,但也有好處:
    • 不容易混淆, 一般實參和形參只是按照位置一一對應即可,容易出錯
    • 使用關鍵字引數,可以不考慮引數位置

2.收集引數

  • 把沒有位置,不能和定義時的引數位置相對應的引數,放入一個特定的資料結構中
  • 語法

      def func(*args):
          func_body
          按照list使用方式訪問args得到傳入的引數
    
      呼叫:
      func(p1, p2, p3, .....)
  • 引數名args不是必須這麼寫,但是,我們推薦直接用args,約定俗成
  • 引數名args前需要由星號
  • 收集引數可以和其他引數共存

3.收集引數之關鍵字收集引數

  • 把關鍵字引數按字典格式存入收集引數
  • 語法:

      def func( **kwargs):
          func_body
    
      # 呼叫:
      func(p1=v1, p2=v2, p3=v3........)
    • kwargs一般約定俗成
    • 呼叫的時候,把多餘的關鍵字引數放入kwargs
    • 訪問kwargs需要按字典格式訪問

4.收集引數混合呼叫的順序問題

  • 收集引數,關鍵字引數,普通引數可以混合使用
  • 使用規則就是,普通引數和關鍵字引數優先
  • 定義的時候一般找普通引數,關鍵字引數,收集引數tuple,收集引數dict

5.收集引數的解包問題

  • 把引數放入list或者字典中,直接把list/dict中的值放入收集引數中
  • 語法:參看案例

6.同理,dict型別收集引數一樣可以解包,但是

  • 對dict型別進行解包
  • 需要用兩個星號進行解包

 7.返回值

  • 函式和過程的區別需要用return顯示返回內容,
    • 有無返回值
  • 如果沒有返回,則預設返回None
  • 推薦寫法,無論有無返回值,最後都要以return 結束

三、函式文件

  • 函式的文件的作用是對當前函式提供使用相關的參考資訊
  • 文件的寫法:
    • 在函式內部開始的第一行使用三引號字串定義符
    • 一般具有特定格式
    • 參看案例
  • 文件檢視
    • 使用help函式,形如 help(func)
    • 使用doc, 參看案例