一週目,八日學習
函式的返回值
函式的返回值為執行完函式體程式碼後返回的結果,可以通過變數名=函式來獲取返回值,如果不返回則不能被使用,函式的結果會是空,如
當函式體return後面跟多個數值是,會預設元組的形式返回,函式體程式碼執行到return結果時會立刻結束函式執行
注 當函式在定義階段只會檢查語法結構,不會執行函式體程式碼,確認函式能否執行必須要執行後才能知曉
函式的型別
函式的型別分為三種,分別是有參函式,無參函式和空函式
無參函式:定義階段沒有引數,執行階段也不需要引數
有參函式:函式在定義階段括號內填寫了變數名,即需要引數
空函式:函式沒有函式體程式碼,用pass做補充無任何意義。 空函式多用於前期的架構搭建
def aaaaa(): 無參函式 a=1 print(a) def bbbbb(x): 有參函式 b=x+1 print(b) def ccccc(): 空函式 pass
函式的引數
形參 形式引數的簡稱。函式在定義階段括號內書寫的變數名稱之為函式的形式引數
實參 實際引數的簡稱。函式在呼叫階段括號內書寫的值稱之為函式的實際引數
形式引數和實際引數會在函式的呼叫階段臨時繫結,在執行結束以後就會分離
位置引數、關鍵字引數、預設引數、可變長引數
位置引數: 位置引數需要按照位置一一對應傳輸數值,不可多也不可少,否則就會報錯
關鍵字引數: 指定給確定變數名傳值,打破位置的限制
預設引數: 在函式的定義階段就給了形式引數賦值,如果呼叫階段不傳外部值,就預設使用定義時已給的
可變長引數: 函式可接收多餘位置引數賦予 *(星號)後面的變數名,多餘位置引數會組成元組形式
函式可以就收多餘關鍵字引數賦予**(星號星號)後面的變數名,多餘的引數會以字典的形式組成
(注:函式中遵守一一對應,不可賦予一個變數名兩個引數,否則會報錯,因此當位置引數與關鍵字引數同時使用時,位置引數在前,關鍵字引數在後)
*與**在實際引數中的使用
列表和元組內的元素會被分開,作為位置引數並一一賦予*
字典的元素也會被分開,作為關鍵字引數並一一賦予**
如
函式程式碼封裝攻略
在沒有思路的情況下,可以先寫流線型的函式程式碼,隨後再封裝 儘量做到一個函式程式碼就是一個功能,方便尋找bug,找出錯誤
1 先寫def和函式名 2 將程式碼縮排 3 檢視函式所需的引數 4 寫在def後的括號內
內建函式
1 絕對值 方法 abs 使括號內的數字轉為絕對值
2 判斷全對 方法 all 判斷內部元素是否都為Ture
3 判斷有對 方法 any 判斷內部元素是否有一個為Ture
4 轉二進位制 方法 bin 將十進位制轉二進位制
5 轉八進位制 方法 oct 將十進位制轉八進位制
6 轉十六進位制 方法 hex 將十進位制轉十六進位制
7 可否呼叫 方法 callcble 檢視變數名能否使用,用作檢視函式變數名
8 轉對應字元 方法 chr 返回ASCLL碼中對應的字元 (65-90 對應大寫字母A到Z 97-122對應小寫字母a到z)
9 格式化輸出 方法 format format類似於%s,format可以通過索引的方式也可以使用關鍵字傳值。並且可以使用多次
10 列舉輸出 方法 enumerate 一一輸出並給予序號,括號內第二個可以給也可以不給,不給引數預設從0開始
11 最大 方法 min 最大值
12 最小 方法 max 最小值
13 求和 方法 sum 求和