以下是Python3.9全部73個內置函式的說明:
| 內置函式 | 說明 | 示例 | |
| 1 | abs(x) | 求x的絕對值 | abs(-3.4) == 3.4 |
| 2 | all(x) | 判斷序列x中的每個元素是否都是True,如果元素也是一個序列,則遞回地判斷 |
|
| 3 | any(x) | 判斷序列x中是否至少存在一個元素是True,如果元素也是一個序列,則遞回地判斷 |
|
| 4 | ascii(x) | 把x反編譯成一個Python常量,并以字串形式輸出,其中不含有除ASCII字符外的其他字符 |
|
| 5 | bin(x) | 把整數x轉換為二進制字串,作用跟函式hex()類似, |
|
| 6 | bool(x) | 把x的值轉為布林值,如果x是整數0、浮點數0、空字串''、空串列[]、空元組()或空集合{},轉為False,其他轉為True,如果x是物件,則呼叫x.__bool__(),預設地該方法回傳True, |
|
| 7 | breakpoint(*args, **kwargs) | 呼叫sys.breakpointhook(*args, **kwargs) | |
| 8 | bytearray(x, ec) | 用ec指定的編碼方式把字串x轉換為位元組陣列, | bytearray('abc中國', 'utf-8')==b'abc\xe4\xb8\xad\xe5\x9b\xbd' |
| 9 | bytes(x, ec) | 用ec指定的編碼方式把字串x轉換為bytes型別 | bytes('abc中國', 'utf-8')== b'abc\xe4\xb8\xad\xe5\x9b\xbd' |
| 10 | callable(x) | 判斷x是不是一個函式或者方法或者lambda運算式 |
|
| 11 | chr(x) | 把unicode碼x轉換為對應的字符(包括漢字), 與ord()互為逆函式 |
|
| 12 | classmethod(func) | 這是一個裝飾器,在類中用來裝飾一個函式,以表明它是一個類方法,與staticmethod的區別在于前者會把類作為第一個引數, | class ABC: @classmethod def mm(cls, p1, p2): print(cls, p1, p2) ABC.mm(p1=123, p2=456) |
| 13 | compile(src, path, mode) | 編譯src并回傳可以被exec()或eval()執行的代碼, path是個檔案路徑用以存放可能的編譯錯誤, mode='exec'表示編譯src是個陳述句塊,'single'表示可互動的單條陳述句,'eval'表示運算式, | |
| 14 | complex(x) | 把數值x轉換為復數,如果x是物件,則呼叫x.__complex__()函式,如果不能轉換,則扔出ValueError或TypeError錯誤 | complex(1.23)==1.23+0j |
| 15 | copyright() | 列印輸出Python著作權資訊, | copyright() |
| 16 | credits() | 列印Python開發團隊的感謝資訊 | credits() |
| 17 | delattr(x, name) | 洗掉物件x中名為name的屬性 | delattr(obj, 'attrname') |
| 18 | dict(x) | 把二維序列x轉為字典 | dict((('a', 123), ('b', 456))) == {'a':123, 'b': 456} |
| 19 | dir(x) | 回傳任意一個物件、類、包、變數、常量、函式、成員x的所有成員的名字串列 |
|
| 20 | divmod(x, y) | 回傳數值x整除y的商和余數 | divmod(123, 5)==(24, 3) |
| 21 | enumerate(x) | 按順序遍歷序列x,連續產生元組(i, e),其中e是序列x中的當前元素,i是其索引(從0開始) | for i, e in enumerate([10, 11, 12]): print(i, e)
|
| 22 | eval(x, globals=None, locals=None) | 求解運算式x的值,x可以是字串或者compile()的結果,globals和locals分別是陳述句中可能會用到的全域和區域變數的字典,globals和locals預設時分別表示當前全域、區域變數字典 |
|
| 23 | exec(x, globals=None, locals=None) | 執行陳述句或者陳述句模塊x,x可以是字串或者compile()的結果,globals和locals分別是陳述句中可能會用到的全域和區域變數的字典,globals和locals預設時分別表示當前全域、區域變數字典 |
|
| 24 | exit(x) | 以錯誤碼x退出Python環境,0表示沒有錯誤 | exit(0) |
| 25 | filter(func, xs) | 對序列xs中的每個元素執行func函式,只有回傳True的元素才被保留 | |
| 26 | float(x) | 如果x是整數,則轉為相等的浮點數,如果x是False或True,則分別轉為0.0和1.0,如果x是字串,則按照十進制轉換,如果x是物件,則呼叫x.__float__(),不能轉換的扔出ValueError錯誤, |
|
| 27 | format(obj, spec='') | 相當于呼叫obj.__format__(spec) | |
| 28 | frozenset(xs) | 把序列xs轉換為 frozenset型別,frozenset與set的不同僅在于前者不能增加或者洗掉元素 | frozenset([5, 2, 7, 1])等價于凍結的{5, 2, 7, 1} |
| 29 | getattr(obj, name) | 獲取物件obj的名為name的屬性的值 | getattr(12+7j, 'imag')==7.0 |
| 30 | globals() | 回傳當前的所有全域變數字典,程式員可以向該字典中添加或者洗掉變數,以便動態地定義或洗掉全域變數,參見locals() | globals()['abc']=123等價于宣告全域變數abc,并且令其初值為123 |
| 31 | hasattr(obj, name) | 判斷物件obj有沒有名為name的屬性 | hasattr(12+7j, 'real')==True |
| 32 | hash(obj) | 獲取散列值,在把obj插入字典時有重要作用,等價于呼叫obj.__hash__(),預設地,這個函式將回傳物件在記憶體中的地址轉換成的散列值 | hash(12+7j) |
| 33 | help() | 打開Python幫助系統 | |
| 34 | hex(x) | 把整數x轉換為十六進制字串,作用跟函式bin()類似,如果x不是整數則扔出TypeError錯誤 |
|
| 35 | id(x) | 回傳物件或者基本型別資料x的id,該id通常是x在記憶體中的地址, |
|
| 36 | input(prompt) | 在螢屏上顯示提示資訊prompt,然后等待用戶的輸入,回車表示輸入結束,直接回車會回傳一個空字串'',在*nix作業系統下按Ctrl-D,或者在Windows下按Ctrl-Z+Return,會導致EOFError, | |
| 37 | int(x) | 把基本型別資料x轉換為整數,True和False分別轉換為1和0,正浮點數下取整,負浮點數上取整,字串按十進制轉換,如果x是物件,則呼叫x.__int__()函式,不能轉換的扔出ValueError錯誤 |
|
| 38 | isinstance(obj, t) | 判斷物件obj是不是t或者其子孫型別,t可以是基本型別或者類或者它們的元組,元組中只要有一個是obj的型別就回傳True |
|
| 39 | issubclass(t1, t2) | 判斷t1是不是t2或者其子孫型別,t2可以是基本型別或者類或者它們的元組,元組中只要有一個是t1或者它的祖先就回傳True |
|
| 40 | iter(obj) | 呼叫obj.__iter__()以獲得一個迭代器(Iterator),迭代器是這樣一種物件,它的.__next__()函式被重定義了,因此可以用next()函式呼叫,生成器(Generator)就是一種迭代器,所有序列物件的.__iter__()已經被重定義 | |
| 41 | len(xs) | 呼叫序列或者物件xs.__len__()函式以獲取xs的長度,str、list、tuple、set、dict已經重定義了該函式以獲取物件的長度, | |
| 42 | license() | 列印輸出Python的許可資訊 | |
| 43 | list(x) | 如果x是元組、集合,則轉為串列,如果x是字典,則回傳它的鍵構成的串列,如果x是物件,則呼叫x.__iter__()以獲取一個迭代器,然后用該迭代器的輸出結果構成一個串列回傳,如果.__iter__()沒有定義則扔出TypeError錯誤 |
|
| 44 | locals() | 回傳當前的所有區域變數字典,程式員可以向該字典中添加或者洗掉變數,以便動態地定義或洗掉區域變數,當呼叫一個函式時,在函式體內是區域環境,函式體外是全域環境,區域變數包括引數和函式體中定義的區域變數,參見globals() | locals()['abc']=123等價于宣告區域變數abc,并且令其初值為123 |
| 45 | map(func, *iterables) | 從iterables的每個序列中分別取資料,然后呼叫func,結果構成一個迭代器,序列長度不同時以最短的一個為準,參見iter() | |
| 46 | max(iterable,key=None) | 回傳序列iterable中的最大值,key是一個函式f(a),用來獲取iterable中每個元素a的鍵,最終以鍵的比較為準, |
|
| 46* | max(*ps, key=None) | 回傳序列串列ps中的最大值,key是一個函式f(a),用來獲取iterable中每個元素a的鍵,最終以鍵的比較為準, |
|
| 47 | memoryview(bytes) | 回傳bytes的記憶體查看物件,可用來查看bytes中每個位元組而不用復制bytes |
|
| 48 | min(iterable,key=None) | 回傳序列iterable中的最小值,key是一個函式f(a),用來獲取iterable中每個元素a的鍵,最終以鍵的比較為準, |
|
| 48* | min(*ps,key=None) | 回傳串列ps中的最小值,key是一個函式f(a),用來獲取iterable中每個元素a的鍵,最終以鍵的比較為準, |
|
| 49 | next(obj) | 呼叫obj.__next__()函式以獲取下一個元素,生成器、迭代器都重定義了該函式 | next(iter([1, 2, 3]))==1 |
| 50 | object | 所有內置或用戶自定義類的祖先類,類似于Java中的Object | object() |
| 51 | oct(x) | 把整數x轉換為八進制字串,作用跟函式bin()和hex()類似, |
|
| 52 | open(path, mode='r', buffering=-1, encoding=None) | 打開路徑path所指定的檔案,mode可以是字符'r', 'w', 'a', 'x', '+', ‘b', 't'的組合,分別表示只讀、只寫、添加、新檔案只寫、讀寫、二進制、文本(預設模式),buffering指明緩沖形式,0表示在二進制模式下沒有緩沖,1表示在文本模式下使用行緩沖,大于1表示正常的緩沖區大小,預設時,緩沖大小通常是8192或者4096,encoding表示文本的編碼方式,如‘utf-8',預設值依賴于作業系統 | |
| 53 | ord(ch) | 回傳字符ch的unicode編碼,與chr()互為逆函式,英文26個字母和數字字符的unicode編碼等于其ASCII編碼,unicode是目前最廣泛使用的編碼,幾乎囊括了世界上所有主要語言的所有字符 |
|
| 54 | pow(x, y, z=None) | 如果z提供的話,求(x**y) % z的值,否則求x**y的值,如果x是物件的話,呼叫x.__pow__(y, z),不能呼叫時拋出TypeError錯誤 | pow(5, 2, 3)==1 |
| 55 | print(*values, sep=' ', end='\n', file=None) | 列印函式,列印串列values中的所有值,sep是每兩個相鄰值之間的分隔符,預設是空格,end是最后添加的字符,預設是換行符,file是個檔案流(Stream),表示列印到哪個檔案,預設是sys.stdout | print(1,2,3,sep=',') # 列印1,2,3 |
| 56 | property() | 裝飾器,用來裝飾一個不帶引數成員方法,使得呼叫它的時候不用帶圓括號 | class A: @property def mm(self): pass a = A() print(a.mm) |
| 57 | quit(code=0) | 終止運行,退出Python程式或者命令列,code是出錯碼 | quit(1) |
| 58 | range(n) | 回傳序列0、1、2、......、n-1,n是整數 | |
| 58* | range(start, end, step=1) | 回傳序列start、start+step、start+2*step、......、start+((end-start)//step-1)*step,start、end、step都是整數 | range(3, 14, 4)等價于[3, 7, 11] |
| 59 | repr(obj) | 呼叫obj.__repr__()函式,對大多數物件來說,eval(repr(obj))==obj | |
| 60 | reversed(xs) | 回傳序列xs的逆序列 | reversed([1, 2, 3])等價于(3, 2, 1) |
| 61 | round(x, digits=None) | 回傳數值x四舍五入的結果,digits表示小數點后的位數,預設時表示回傳整數,digits可以是負的 |
|
| 62 | set(xs) | 把序列xs轉為集合 |
|
| 63 | setattr(obj, name, value) | 把物件obj的名為name的屬性設定為value,參見getattr() | |
| 64 | slice(start, end, step=1) | 構建一個從整數start開始到end(不包含)為止,step為步長構建一個下標序列 | a=slice(1, 9, 2) b=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] b[a]==[2, 4, 6, 8] |
| 64* | slice(end) | 等價于slice(0, end, 1) | |
| 65 | sorted(*iterable, key=None, reverse=False) | 用key所定義的函式對iterable中的每個元素取鍵,然后回傳生序序列,reverse=True回傳降序序列 | sorted([1, 3, 2, 5])==[1, 2, 3, 5] |
| 66 | staticmethod() | 裝飾器,同classmethod,不同點僅在于用@staticmethod修飾的函式不帶cls引數 | |
| 67 | str(x) | 如果x是基本型別資料,則把它轉換為字串,如果x是物件,則呼叫x.__str__()函式,沒有定義該函式的呼叫x.__repr__(),如果后者仍然沒有定義,則給出Python對物件預設定義的字串,該字串含有物件的包名、類名和在記憶體中的地址, |
|
| 68 | sum(iterable, start=0) | 對序列iterable求和,結果加上start,注意,iterable不是可變引數 | sum([1, 2, 3])==6 |
| 69 | super(cls, obj) | 把obj轉成類cls的父類物件并回傳,結果中的方法都是在父類或祖先類中定義的,不含在cls中定義的, | super(MyClass, myObj).__init__() |
| 70 | tuple(iterable) | 把序列iterable轉為元組 | tuple([1, 2, 3]) == (1, 2, 3) |
| 71 | type(obj) | 回傳物件obj的型別 | type(123)==int |
| 72 | vars(obj==None) | vars等同于locals(), 否則呼叫obj.__dict__()以獲取由物件obj的屬性和值構成的字典 | |
| 73 | zip(*iterables) | 對iterables中的每個序列同時回圈,輸出每個序列的當前值直到最短的一個序列結束為止, | zip([1, 2, 3], [4, 5, 6])等價于((1, 4), (2, 5), (3, 6)) |

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/291869.html
標籤:python
上一篇:anaconda里面的spyder打不開:qtpy.PythonQtError: No Qt bindings could be found[已解決]
