標籤:多個參數 預設參數 遞迴 name 參數 uil python 學習 min 資訊
互動式命令列中可使用help(fun_name)查看fun_name函數的協助資訊
資料類型轉換 int() float(); str(); bool();
定義一個函數使用def 例如:def nes_def(x): 然後在縮排體中書寫代碼 使用return返回函數值 如果沒有return 則返回None
當函數有多個參數時,把變化大的參數放前面,變化小的參數放後面。變化小的參數就可以作為預設參數。
調用函數時,當不按順序填寫參數值時,需要在值前面加上參數名,如new_add(name=‘XiaoMing‘);
預設參數必須指向不變對象。比如name=None或固定的值;
函數使用可變參數 def power(*number); 需要在參數前加一個“*”號,此結果返回的類型為tuple
當使用者需要把一個list或tuple當做函數參數調用,可直接在調用函數時,參數中的list或tuple前面寫*號,可把此list中的所有元素當做可變參數傳入函數
def power(*number):xxx;
n_list = [1,2,3,4];
power(*n_list);
關鍵字參數 使用“**name”可聲明一個關鍵字參數 在函數內產生一個dict 接受自訂傳值或不傳值
def power(num,int,**outher):xxx; power(1,4,city=‘Guilin‘,age=15,sex=1);
其使用關鍵字參數值需要使用dict內格式 即name=‘XiaoMing‘
也可以直接將函數外的dict直接覆蓋函數內的dict 也只需要使用“**”號即可
new_dict={‘city‘:‘Guilin‘,‘age‘:16,‘sex‘:1}; power(1,4,**new_dict);
限制命名關鍵字參數 聲明方法 def power(num,int,*,city,sex):xxx;
只需要將”*“設為一個參數,”*“後面的參數名,就是命名關鍵字參數
此時,函數內dict只接受”*“後為規定參數名的參數值
如果函數定義中已經有了一個可變參數,後面跟著的命名關鍵字參數就不再需要一個特殊分隔字元”*“
def person(name, age, *args, city, job):xxx;
命名關鍵字參數必須傳入參數名,果沒有傳入參數名,調用將報錯。(也可以設定預設參數值)
遞迴函式 在函數內部調用自身 就是遞迴函式
尾遞迴最佳化:使遞迴本身無論調用多少次,都只佔用一個棧幀,不會出現棧溢出的情況。
Python 學習第二天