最全的python內建函式整理
Python中內建了很多函式和型別,你可以在任何時候使用它們。以下按字母表順序列出它們。
1
abs
(x)
返回一個數的絕對值。引數可以是一個整數或者一個浮點數。如果引數是一個複數,那麼將返回它的模。
2
all
(iterable)當 iterable 中所有元素都為 True 時(或者 iterable 為空),返回 True 。相當於:
3
any
(iterable)
當 iterable 中有元素為 True 時,則返回 True 。如果當 iterable 為空時,返回 False 。相當於:
4
ascii
(object)
就像函式 repr()
, 返回一個輸入物件的可列印的字串,但是在返回字串中去掉非 ASCII 編碼的字元,而這些字元在
repr()
生成的字串中利用編碼加 \x
, \u
或 \U
字首來表示。這個函式所生成的字串與 Python2 中的 repr()
函式類似。5
bin
(x)
將一個整數轉化為一個二進位制字串。結果是一個可用的 Python 表示式。如果 x 不是 Python 中的 int
型別,那麼需要定義 __index__()
方法使之返回一個整數。
6
bool
([x])
將一個值轉換為布林型別,使用標準的真值判斷過程。如果 x 為假或者不存在,將返回 False
;否則則返回 True
。 bool
同樣是一個類,是 int
的子類, bool
類不能作為其他子類。它僅有的例項是 False
和 True
。
7
bytearray
([ source [,encoding [,errors ] ] ] )返回一個新的位元組陣列。這個
bytearray
型別是一個在0 <= x <256範圍內的可變整數序列。它具有可變序列型別中描述的大多數可變序列的常用方法,以及該bytes
型別具有的大多數方法。可選的source引數可以用幾種不同的方式初始化陣列:
沒有引數,就會建立一個大小為0的陣列。
1:如果是字串,則還必須給出編碼(以及可選的 錯誤)引數; bytearray()
然後使用字串轉換為位元組str.encode()
。
2:如果它是一個整數,則陣列將具有該大小,並將用空位元組進行初始化。
3:如果它是符合
4:如果它是一個可迭代的,它必須是範圍內的整數的迭代 ,它們被用作陣列的初始內容。0 <= x < 256
8
bytes
([ source [,encoding [,errors ] ] ] )
返回一個新的“位元組”物件,這是一個不可變的範圍內的整數序列。 是一個不可變的版本 - 它具有相同的非變異方法和相同的索引和切片行為。0 <= x < 256
因此,建構函式的引數被解釋為bytearray()
。位元組物件也可以用文字建立。
9
callable
(object )True
如果物件引數顯示為可呼叫,False
則返回。如果這返回true,那麼呼叫失敗仍然是可能的,但是如果它是false,呼叫物件將永遠不會成功。請注意,類是可呼叫的(呼叫一個類返回一個新的例項); 如果它們的類有一個__call__()
方法,那麼這個例項就可以被呼叫3.2版新增功能:
3.2版本中的新功能:這個功能在Python 3.0中首先被刪除,然後在Python 3.2中被帶回。
10
chr
(i )
返回表示Unicode碼點是整數i的字元的字串 。例如,chr(97)
返回字串'a'
。這是相反的ord()
。引數的有效範圍是從0到1,114,111(以16為基數的0x10FFFF)。 ValueError
如果我在這個範圍以外,會被提出。
請注意,在窄Unicode版本,結果是長度為2的字串我大於65535(0xFFFF的十六進位制)。
11
classmethod
(功能)為函式返回一個類方法。
類方法將類作為隱式第一個引數接收,就像例項方法接收例項一樣。要宣告一個類的方法,使用這個習慣用法:
classC: @classmethoddeff(cls, arg1, arg2, ...
該@classmethod
形式是一個函式裝飾 -見的功能定義描述函式定義的細節。
它可以在類(如C.f()
)或例項(如C().f()
)上呼叫。該例項被忽略,除了它的類。如果為派生類呼叫類方法,則派生類物件作為隱含的第一個引數傳遞。
類方法不同於C ++或Java靜態方法。如果你想要這些,請參閱staticmethod()
本節。
有關類方法的詳細資訊,請參閱在標準型層次結構的文件標準型別層次。
12
compile
(source,filename,mode,flags = 0,dont_inherit = False,optimize = -1 )
將原始碼編譯成程式碼或AST物件。程式碼物件可以由exec()或執行eval()。 源可以是一個字串或一個AST物件。ast有關如何使用AST物件的資訊,請參閱模組文件。
該檔名引數應該給從程式碼讀取的檔案; 如果沒有從檔案中讀取('<string>'通常使用),則傳遞一些可識別的值。
該模式引數指定什麼樣的程式碼必須進行編譯; 它可以是 'exec',如果源包含的語句序列的,'eval'
如果它由一個單一的表達的,或者'single'
如果它由單個互動式宣告的(在後一種情況下,計算結果為比其他東西表示式語句None
將被列印)。
可選的引數標誌和dont_inherit控制哪些將來的語句影響源的編譯。如果兩者都不存在(或兩者均為零),則代碼將與正在呼叫compile的程式碼中的那些將來的語句一起編譯。如果 flags引數被給出,並且 dont_inherit不是(或者是零),那麼將使用由 flags引數指定的未來語句以及那些將被使用的語句。如果 dont_inherit是一個非零整數,那麼 flags引數就是這個引數 - 圍繞編譯呼叫的未來宣告將被忽略。
將來的語句由可以按位“或”到一起來指定多個語句的位指定。指定給定特徵所需的位域可以作為模組中 例項的compiler_flag
屬性找到。_Feature
__future__
引數optimize指定編譯器的優化級別; 選項的預設值-1
選擇直譯器的優化級別-O
。顯式級別是0
(沒有優化; __debug__
是),1
(斷言被刪除,__debug__
是假的)或2
(docstrings也被刪除)。
SyntaxError
如果編譯源無效,並且TypeError
源包含空位元組,則引發此函式。
注意
在多行程式碼輸入
'single'
或'eval'
模式下編譯字串時,輸入必須至少由一個換行符終止。這是為了便於在code
模組中檢測不完整和完整的語句。在版本3.2中更改:
在版本3.2中更改:允許使用Windows和Mac換行符。在
'exec'
模式下輸入也不必以換行符結束。新增了優化引數。
內建函式這一更就到這啦……
今日贈言
堅持做一件事情很難,也許你本意是想做好,可是總有很多理由讓你去放棄,並告訴自己那沒有關係。久而久之就有了不了了之的態度,你普普通通不是沒有原因的。
推薦閱讀:
python學習篇
機器學習篇
from:http://docspy3zh.readthedocs.io/en/latest/library/functions.html