python基础(part10)--函数
鄙人學習筆記
 開發工具:Spyder
文章目錄
- 函數function
- 定義
- 作用
- 定義函數
- 調用函數
- 返回值
- 舉個例子
 
- 可變與不可變類型數據在傳參時的區別
- 舉個例子1
- 舉個例子2
 
- 函數參數
- 實參傳遞方式
- 形參定義方式
- 默認參數
- 位置形參
- 星號元組形參
 
- 命名關鍵字形參
- 雙星號字典形參
 
- 參數自左至右的順序
 
 
 
 
函數function
定義
函數用于封裝一個特定的功能,表示一個功能或者行為。函數是可以重復執行的語句塊,可以重復調用。
作用
函數可以提高代碼的可重用性和可維護性。(注意函數命名和清晰性)
定義函數
- 語法
- 說明
| def 關鍵字 | 全稱是define, 意味"定義" | 
| 函數名 | 對函數體中語句的描述,命名規則與變量名相同 | 
| 形式參數 | 方法定義者要求調用者提供的信息 | 
| 函數體 | 完成該功能的語句 | 
備注:函數的第一行語句,可以選擇性地使用文檔字符串存放函數與參數的說明。
調用函數
- 語法
返回值
- 定義
方法定義者告訴調用者的結果
- 語法
- 說明
①表達式就是需要返回的結果
 ②若return后不帶表達式,相當于返回None
 ③若不帶return語句,函數執行完后返回None(相當于在最后加了一條 return None 語句)
舉個例子
代碼:
def my_add(num01, num02):result = num01 + num02return resultre = my_add(1, 2) print(re)結果:
 
可變與不可變類型數據在傳參時的區別
- 不可變類型數據
- 可變類型數據
- 傳參說明
不可變類型的數據傳參時,函數內部不會改變原數據的值。
 可變類型的數據傳參時,函數內部可以改變原數據。
舉個例子1
代碼:
def fun01(fun_num01):fun_num01 = 2print("fun_num01:"+ str(fun_num01))number01 = 1 fun01(number01) print("number01:" + str(number01))結果:
 
備注:str( )是python自帶函數,是python保留的關鍵字,定義變量時應該避免使用str作為變量名。如果在使用str( )函數之前已經定義過str變量,則會出現TypeError: ‘str’ object is not callable這個報錯。可以使用del str將str變量刪除。
舉個例子2
代碼:
def fun01(num01, listA, listB):num01 = 100listA[0] = 200listB = 300number01 = 1 list01 = [2, 3] list02 = [4, 5, 6]fun01(number01, list01, list02)print(number01) print(list01) print(list02)結果:
函數參數
實參傳遞方式
①位置傳參-序列傳參
 ②關鍵字傳參-字典傳參
- 例子
代碼:
def fun01(a, b, c):print(a, b, c)#位置傳參:實參與形參的位置依次對應 fun01(1, 2, 3)#序列傳參:用*將序列拆分后與形參的位置依次對應 fun01(*[4, 5, 6])#關鍵字傳參:實參根據形參的名稱進行對應 fun01(b = 2, a = 1, c = 3)#字典傳參:用**將字典拆分后與形參的名字進行對應 fun01(**{"b":20, "c":10, "a":5})結果:
 
形參定義方式
默認參數
默認參數,可讓調用者有選擇性的傳遞需要的信息
- 例子
代碼:
def fun01(a = 0, b = 1, c = 2):print(a, b, c)fun01() fun01(1) fun01(*[2, 3]) fun01(b = 10) fun01(**{"a":-1, "c":32})結果:
 
位置形參
- 語法
星號元組形參
- 語法
- 作用
收集多余的位置傳參
- 說明
①一般情況下,元組形參名為’args’
 ②形參列表中最多只能有一個星號元組形參
- 例子1
- 例子2
命名關鍵字形參
我們先看2個例子,來感受一下命名關鍵字傳參。
- 例子1(強制實參使用關鍵字傳參)
代碼:
#若*放在最開頭,則強制我們使用關鍵字傳參 def fun01(*,a,b):print(a, b)#如果我們不通過關鍵字傳參,則運行下面這行代碼會報錯 fun01(1, 2)結果:
 
 報錯!
- 例子2
代碼:
#b必須使用關鍵字傳參,否則會報錯 def fun01(*a,b):print(a, b)fun01(1, 2, b = 2)結果:
 
雙星號字典形參
- 例子1
- 例子2
參數自左至右的順序
位置形參 -> 星號元組形參 -> 命名關鍵字形參 -> 雙星號字典形參
總結
以上是生活随笔為你收集整理的python基础(part10)--函数的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 微信怎么关联领英账号
- 下一篇: 烤羊腿宣传文案30句
