函數概念
函數是組織好的,可重複使用的,用來實現單一,或相關功能的代碼段。
函數能提高應用的模塊性,和代碼的重複利用率。
自定義函數
def 函數名(參數列表):
函數體
return [表達式]
函數的調用
函數的返回值
- 無返回值return語句可省略,相當於返回None
- 可以返回多個值。要通過變通的方式實現,即需要藉助列表、元組、字典等序列對象
函數的參數
- 普通參數。值傳遞(不可變類型的值)
- 列表和字典參數。引用傳遞(可變類型的值)
- 關鍵字參數
關鍵字參數使用可以不按形參的順序傳遞實參,系統按形參的名字確認實參傳遞給哪個參數
- 參數的默認值
在定義函數時,直接在參數後使用“=”爲其設置默認值。在調用函數時,可以不指定擁有默認值的參數的值,此時在函數體內以默認值作爲該參數。
- 可變長參數
Python還支持可變長的參數列表。可變長參數可以是元組或字典。
- 當參數以*開頭時,表示可變長參數被視爲一個元組,格式爲:def func(*t):
- 當參數以**開頭時,表示可變長參數被視爲一個字典,格式爲:def func(**t)
局部變量與全局變量
- 作用域
- global關鍵字
- LEGB法則,先搜索局部變量,再搜索上層函數作用域,再搜素全局變量,最後搜索內置變量
內置函數
- abs(x),返回數字的絕對值。
- chr(i),用一個範圍在range(256)內的(就是0~255)整數作參數,返回一個對應的字符。
- i–可以是10進制也可以是16進制形式的數字
- hex(x) ,用於將一個整數轉換爲十六進制數。返回一個字符串,以0x開頭。
10.sorted(iterable,cmp=None,key=None,reverse=False),對所有可迭代的對象進行排序(默認升序)操作
- iterable – 可迭代對象
- cmp – 比較的函數,這個具有兩個參數,參數的值都是從可迭代對象中取出,此函數必須遵守的規則爲,大於則返回1,小於則返回-1,等於則返回0。
- key – 主要是用來進行比較的元素,只有一個參數,具體的函數的參數就是取自於可迭代對象中,指定可迭代對象中的一個元素來進行排序。
- reverse – 排序規則,reverse = True 降序 , reverse = False 升序(默認)。