1. 程式人生 > >Python基礎13_匿名函式,內建函式

Python基礎13_匿名函式,內建函式

一. 內建函式:68個
1. 作用域相關:(2個)
locals() 返回當前作用域中的名字
globals() 返回全域性作用域中的名字
2. 迭代器相關:(3個)
range() 生成資料
next() 迭代器向下執行一次, 內部實際使用了__next__()方法, 返回迭代器的下一個專案
iter() 獲取迭代器, 內部實際使用的是__iter__()方法
3. 字串型別程式碼的執行(3個)
eval() 執行字串型別的程式碼, 最終返回結果
exec() 執行字串型別的程式碼
compile() 將字串型別的程式碼編譯, 程式碼物件能過通過exec()來執行或者eval()進行求值
引數說明: compile(resource, filename, mode)
1. resource 要執行的程式碼, 動態程式碼片段
2. filename 程式碼存放的檔名 resource和filename兩者二選一
3. mode 取值有三個:(1).exec: 一般放一些流程語句的時候(2).eval: resource只存放一個求職表示式(3).single: resource存放的程式碼有互動的時候(input)
4. 輸入和輸出有關(2個)
input() 獲取使用者輸入的內容
print() 列印輸出
5. 記憶體相關(2個)
hash() 獲取到物件的雜湊值(int, str)
id() 獲取到物件的記憶體地址
6. 檔案操作有關(1個)
open() 用於開啟一個檔案,建立一個檔案控制代碼
7. 模組相關(1個)
import

() 用於動態載入類和函式
8. 幫助(1個)
help() 用於檢視函式或者模組用途的詳細說明
9. 呼叫相關(1個)
callable() 用於檢查一個物件是否是可呼叫的, 如果返回True, object可能呼叫失敗, 但是返回False, 那呼叫絕對不會成功
10. 檢視內建屬性(1個)
dir() 檢視物件的內建屬性,訪問的是物件中的__dir__()方法
11. 基礎資料型別相關(14個)
(1). 數字相關(4個)
bool() 將給定的資料型別轉換成bool值, 如果不給值, 返回False
int() 將給定的資料轉換成int值, 如果不給值, 返回0
float() 將給定的資料轉換成float值, 也就是小數
complex() 建立一個複數, 第一個引數是實部, 第二個引數是虛部, 或者第一個引數直接用字串來描述複數
(2). 進位制轉換(3個)
bin() 將給定的引數轉換成二進位制 binary
otc() 將給定的引數轉換成八進位制 octonary
hex() 將給定的引數轉換成十六進位制 hexadecimal
(3). 數學運算(7個)
abs() 取絕對值
divmode() 返回商和餘數
round() 四捨五入(整數部分是奇數,則是正常的四捨五入. 整數部分是偶數, 小數部分<= 0.5是舍, 小數部分> 0.5是如)
pow(a, b) 求a的b次冪, 如果有三個引數, 則求完次冪後對第三個數取餘
sum() 求和
min() 求最小值
max() 求最大值
12. 和資料結構相關(15個)
(1). 列表和元祖(4個)
list() 將一個可迭代物件轉換成列表
tuple() 將一個可迭代物件轉換成元祖
reversed() 將一個序列翻轉, 返回翻轉序列的迭代器
slice() 列表的切片
(2). 字串相關(8個)
str() 將資料型別轉換成字串
format() 與具體資料相關, 用於計算各種小數.精算等
bytes() 把字串轉換成bytes型別
bytearray() 返回一個新位元組陣列, 這個陣列中的元素是可變的, 並且每個元素的值的範圍是[0, 256)
memoryview() 檢視bytes在記憶體中的情況
ord() 輸入字元找帶字元編碼的位置
ascii() 是ascii碼中的返回該值, 而不是返回\u...
repr() 返回一個物件的string形式
(3). 資料集合(3個)
dict() 建立一個字典
set() 建立一個集合
frozenset() 建立一個凍結的集合, 凍結的集合不能進行新增和刪除操作
13. 其他相關(8個)
len() 返回一個物件中元素的個數
sorted() 對可迭代物件進行排序操作
enumerate() 獲取集合的列舉物件
all() 可迭代物件中全部都是True, 結果才是True
any() 可迭代物件中有一個是True, 結果就是True
zip() 用於將可迭代的物件作為引數, 將物件中對應的元素打包成一個個元祖, 然後返回由這些元祖組成的列表, 如果各個迭代器的元素個數不一致, 則返回列表長度與最短的物件相同
filter() 過濾
map() 會根據提供的函式對指定序列做對映
二. 匿名函式 lambda
lanbda表示的是匿名函式, 不需要用def來宣告, 一句話就可以宣告一個函式
語法: 函式名 = lambda 引數: 返回值
注意:(1). 函式的引數可以有多個, 多個引數之間用逗號隔開
(2). 匿名函式不管多複雜, 只能寫一行, 且邏輯結束後直接返回資料
(3). 返回值和正常的函式一樣, 可以是任意資料型別
匿名函式並不是說一定沒有名字, 這裡前面的變數就是一個函式名, 說他是匿名原因是我們通過__name__()檢視的時候是沒有名字的, 統一都叫lambda.
三. 排序函式sorted(), 篩選函式filter(), 對映函式map()
1. 排序函式
語法: sorted(Iterable, key = func, reverse = False)
Iterable: 可迭代物件
Key: 排序規則(排序函式), 在sorted內部會將可迭代物件的每一個元素傳遞給這個函式的引數, 根據函式運算的結果進行排序
reverse: 是否是倒敘, True: 倒敘, False: 正序
2. 篩選函式
語法: filter(function, Iterable)
function: 用來篩選的函式, 在filter中會自動的把iterable中的元素傳遞給function, 然後根據function返回的True或者False來判斷是否保留此項資料
Iterable: 可迭代物件
3. 對映函式
語法: map(function, Iterable)可以對可迭代物件中的每一個元素進行對映, 分別再執行function