内置函數是Python内置對象類型之一,不用額外導入任何子產品,是可以直接使用的。并且已經用C語言進行了大量優化,有非常快的運作速度,建議優先使用。
内置函數包括:
- 數學運算(7個)
- 類型轉換(24個)
- 序列操作(8個)
- 對象操作(7個)
- 反射操作(8個)
- 變量操作(2個)
- 互動操作(2個)
- 檔案操作(1個)
- 編譯執行(4個)
- 裝飾器(3個)
内置函數用法:
檢視所有内置函數與内置對象用dir()
例如:
>>>dir(__builtins__)
注意括号内是兩條下劃線
效果:
使用**help(函數名稱)**可以檢視某個函數的用法。
例如:
>>>help(max)
效果:
下面是按字母排列的Python内置函數:
abs() | delattr() | hash() | memoryview() | set() |
all() | dict() | help() | min() | setattr() |
any() | dir() | hex() | next() | slice() |
ascii() | divmod() | id() | object() | sorted() |
bin() | enumerate() | input() | oct() | staticmethod() |
bool() | eval() | int() | open() | str() |
breakpoint() | exec() | isinstance() | ord() | sum() |
bytearray() | filter() | issubclass() | pow() | super() |
bytes() | float() | iter() | print() | tuple() |
callable() | format() | len() | property() | type() |
chr() | frozenset() | list() | range() | vars() |
classmethod() | getattr() | locals() | repr() | zip() |
compile() | globals() | map() | reversed() | __ import __() |
complex() | hasattr() | max() | round() |
abs(x):求數值的絕對值
divmod(x,y):求商和餘
(x//y,x%y),同時輸出商和餘數
pow(x,y[, z]):求幂餘
(x**y)%z,[…]表示參數z可省略
round(x[, d]):四舍五入
d是保留的小數位數,預設值為0
max(a,b,c,…,y,z):最大值
傳回a,b,c,…,y,z中的最大值,元素數量不限
min(a,b,c,…,y,z):最小值
傳回a,b,c,…,y,z中的最小值,元素數量不限
int(x):整形轉換
把x轉為整數類型,會舍棄小數部分
float(x):浮點型轉換
将x轉變為浮點數類型,會增加小數部分
complex(x):複數轉換
将x轉換成複數形式,會增加虛數部分
sum((x,y,…,z)):元素求和
對元素類型是數值的可疊代對象中的每個元素求和
bool(x):根據傳入的參數的邏輯值建立一個新的布爾值
傳入空值與0都為錯誤
str():傳回一個對象的字元串表現形式
将字元類型/數值類型等轉換為字元串類型
bytearray():根據傳入的參數建立一個新的位元組數組
bytearray類是整數的範圍為0 <= X一個可變的序列<256.
如果它是一個字元串,必須提供編碼參數。如果它是一個整數,則該數組将具有該大小,并将使用空位元組進行初始化。
如果它是可疊代的,則它必須是範圍内的可疊代整數 ,它們用作數組的初始内容。0 <= x < 256
如果沒有參數,則會建立一個大小為0的數組。
bytes():根據傳入的參數建立一個新的不可變位元組數組
傳回一個新的“bytes”對象,該對象是該範圍内不可變的整數序列。 是一個不可變的版本 - 它具有相同的非變異方法和相同的索引和切片行為。
memoryview():根據傳入的參數建立一個新的記憶體檢視對象
傳回從給定參數建立的“記憶體視圖”對象。
ord():傳回Unicode字元對應的整數
給定表示一個Unicode字元的字元串,傳回表示該字元的Unicode代碼點的整數.
chr():傳回整數所對應的Unicode字元
bin():将整數轉換成2進制字元串
oct():将整數轉化成8進制數字元串
hex():将整數轉換成16進制字元串
tuple():根據傳入的參數建立一個新的元組
不傳入參數時,建立空清單元組。傳入參數時,會自動用參數元素建立新元組。
list():根據傳入的參數建立一個新的清單
同tuple用法相同。
dict():建立資料字典
set():建立集合
frozenset():建立集合
但frozenset()建立的集合不可改變。
enumerate():根據可疊代對象建立枚舉對象
list(enumerate(清單名,start=1)) 這樣可以指定初始值。
range():根據傳入的參數建立一個新的range對象
iter():根據傳入的參數建立一個新的可疊代對象
iter(o[, sentinel])
傳回一個iterator對象。該函數對于第一個參數的解析依賴于第二個參數。
如果沒有提供第二個參數,參數o必須是一個集合對象,支援周遊功能(iter()方法)或支援序列功能(getitem()方法),
參數為整數,從零開始。如果不支援這兩種功能,将處罰TypeError異常。
如果提供了第二個參數,參數o必須是一個可調用對象。在這種情況下建立一個iterator對象,每次調用iterator的next()方法來無
參數的調用o,如果傳回值等于參數sentinel,觸發StopIteration異常,否則将傳回該值。
slice():切片功能
根據傳入的參數建立一個新的切片對象。
super():根據傳入的參數建立一個新的子類和父類關系的代理對象
傳回将方法調用委托給父類或兄弟類類型的代理對象。這對于通路已在類中重寫的繼承方法很有用。除了跳過類型本身之外,搜尋順序與使用的搜尋順序相同 。如果省略第二個參數,則傳回的超級對象是未綁定的。如果第二個參數是一個對象,則必須為true。
object():建立一個新的object對象
擷取一個新的,無特性(geatureless)對象。
any():判斷可疊代對象的元素是否有為True值的元素
接受一個疊代器,如果疊代器裡有一個元素為真,那麼傳回True,否則傳回False。
filter():使用指定方法過濾可疊代對象的元素
過濾器,構造一個序列,在函數中設定過濾條件,逐一循環疊代器中的元素,将傳回值為True時的元素留下,形成一個filter類型資料。
map():使用指定方法去作用傳入的每個可疊代對象的元素,生成新的可疊代對象
傳回一個疊代器,它将函數應用于每個iterable項,進而産生結果。如果傳遞了其他可疊代參數,則 函數必須采用那麼多參數,并且并行地應用于所有疊代的項。對于多個疊代,疊代器在最短的iterable耗盡時停止。
next():傳回對象中的下一個元素值
reversed():反轉,逆序對象
傳回一個逆序的iterator對象。參數seq必須是一個包含__reversed__()方法的對象或支援序列操作(len()和__getitem__())
sorted():對可疊代對象進行排序,傳回一個新的清單
sorted(a)清單排序,元素若是字元串,就會按照ASCII的大小排序。
sorted(b,key=abs)按絕對值大小排序
zip():将對象逐一配對,以長度較短的對象為準
x與y配對構成新清單,會自動以原清單長度較短的那個為基準,原清單長出的部分會自動舍棄。
help():檢視各類函數的幫助資訊
dir():傳回函數屬性
id():傳回對象的記憶體位址
hash():擷取對象的哈希值
type():傳回對象的類型
也可以更改對象類型。
len():傳回對象的長度
ascii():傳回對象對應的Ascii字元
format():格式化顯示值
vars():傳回目前作用域内的局部變量和其值組成的字典,或者傳回對象的屬性清單
import():導入子產品
isinstance():判斷對象是否是類型中任意類元素的執行個體
issubclass():判斷類是否是另外一個類或者類型元組中任意類元素的子類
hasattr():判斷對象是否含有屬性
getattr():擷取對象的屬性值
setattr():設定對象的屬性值
delattr():删除對象的屬性
callable():檢測對象是否可被調用
globals():傳回一個描述目前全局變量的字典
locals():傳回目前可用的局部變量的字典
print():輸出函數
input():輸入函數
open():打開檔案
open(file,mode ='r',buffering = -1,encoding = None,errors = None,newline = None,closefd = True,opener = None )
打開檔案并傳回相應的檔案對象。如果無法打開檔案,OSError則引發a。
compile():将字元串編譯成python能識别或可以執行的代碼,也可以将文字讀成字元串再編譯
compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1) 将source編譯為代碼或者AST對象。代碼對象能過通過exec語句來執行或者eval()進行求值。
eval():将字元串str當成有效的表達式來求值并傳回計算結果
exec():執行語句
repr():将任意值轉換為字元串,供計時器讀取的形式
傳回一個對象的字元串表示。有時可以使用這個函數來通路操作。
對于許多類型來說,repr()嘗試傳回一個字元串,eval()方法可以使用該字元串産生對象;
否則用尖括号括起來的,包含類名稱和其他二外資訊的字元串被傳回。
property():标示屬性的裝飾器
property(fget = None,fset = None,fdel = None,doc = None )
傳回屬性屬性。
fget是擷取屬性值的函數。 fset是用于設定屬性值的函數。fdel是用于删除屬性值的函數。和文檔建立的屬性的文檔字元串。
classmethod():标示方法為類方法的裝飾器
staticmethod():标示方法為靜态方法的裝飾器
更多更加詳細的内容,可以進入Python官網(下面參考1)進行檢視,有更為全面的内置函數介紹。
參考連結:
1、參考1
2、參考2
3、參考3