Python學習筆記(十九)
指定函式的預設引數
在引數後使用賦值語句,可以指定引數的預設值
提示
1、預設引數,需要使用最常見的值作為預設值
2、如果一個引數的值不能確定,則不應該設定預設值,具體的數值在呼叫函式時,由外界傳遞
預設引數的注意事項
1、預設引數的定義位置
必須保證帶有預設值的預設引數在引數列表末尾
2、呼叫帶有多個預設引數的函式
在呼叫函式時,如果有多個卻色溫引數,需要指定引數名,這樣直譯器才能夠知道引數的對應關係
多值引數
定義支援多值引數的函式
有時可能需要一個函式能夠處理的引數個數是不確定的,這個時候,就可以使用多值引數
Python中有兩種多值引數:
引數名前增加一個 * 可以接收元祖
引數名前增加兩個 * 可以接收字典
一般在給多值引數命名時,習慣使用以下兩個名字
*args -- 存放元祖引數,前面有一個*
**kwargs -- 存放字典引數,前面有兩個*
args 是 arguments的縮寫 ,有變數的含義
kw 是 keyword的縮寫,kwargs 可以記憶鍵值對引數
提示:多值引數的應用經常會出現在網路上一些大牛開發的框架中,知道多值引數,有利於我們能夠讀懂大牛的程式碼
多值引數案例 - - 計算任意多個數字的和
需求:
1、定義一個函式sum_numbers,可以接收的任意多個函式
2、功能要求:將傳遞的所有數字累加並返回累加結果
元祖和字典的拆包(知道)
在呼叫帶有多值引數的函式時,如果希望:
將一個元祖變數,直接傳遞給args
將一個字典變數,直接傳遞給kwargs
就可以使用拆包,簡化引數的傳遞,拆包的方式是
在元祖變數前,增加一個*
在字典變數前,增加兩個*
函式的遞迴
函式呼叫自身的程式設計技巧稱為遞迴
遞迴函式的特點
特點:
一個函式內部呼叫自己
函式內部可以呼叫其他函式,當然在函式內部也可以呼叫自己
程式碼特點:
1、函式內部的程式碼是相同的,只是針對引數不同,處理的結果不同
2、當引數滿足一個條件時,函式不再執行
這個非常重要,通常被稱為遞迴的出口,否則會出現死迴圈
提示:遞補是一個程式設計技巧,初次接觸遞迴會感覺有些吃力!在處理不確定的迴圈條件時 ,格外的也有用,例如:遍歷整個檔案目錄的結構
面對物件OOP基本概念
面對物件程式設計 -- object oriented programing 簡寫oop