1. 程式人生 > >盤點Python中易忽略的函式

盤點Python中易忽略的函式

Python 內建函式

1.ord() 函式是 chr() 函式(對於8位的ASCII字串)或 unichr() 函式(對於Unicode物件)的配對函式,它以一個字元(長度為1的字串)作為引數,返回對應的 ASCII 數值,或者 Unicode 數值,如果所給的 Unicode 字元超出了你的 Python 定義範圍,則會引發一個 TypeError 的異常

2.zip() 函式用於將可迭代的物件作為引數,將物件中對應的元素打包成一個個元組,然後返回由這些元組組成的列表。

如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用 * 號操作符,可以將元組解壓為列表。

3.abs() 函式返回數字的絕對值。

4.all() 函式用於判斷給定的可迭代引數 iterable 中的所有元素是否都為 TRUE,如果是返回 True,否則返回 False。

元素除了是 0、空、FALSE 外都算 TRUE。

5.any() 函式用於判斷給定的可迭代引數 iterable 是否全部為 False,則返回 False,如果有一個為 True,則返回 True。

6.basestring() 方法是 str 和 unicode 的超類(父類),也是抽象類,因此不能被呼叫和例項化,但可以被用來判斷一個物件是否為 str 或者 unicode 的例項,isinstance(obj, basestring) 等價於 isinstance(obj, (str, unicode))。

7.bin() 返回一個整數 int 或者長整數 long int 的二進位制表示

8.bool() 函式用於將給定引數轉換為布林型別,如果沒有引數,返回 False。

bool 是 int 的子類。

9.bytearray() 方法返回一個新位元組陣列。這個數組裡的元素是可變的,並且每個元素的值範圍: 0 <= x < 256。

10.chr() 用一個範圍在 range(256)內的(就是0~255)整數作引數,返回一個對應的字元。

11.classmethod 修飾符對應的函式不需要例項化,不需要 self 引數,但第一個引數需要是表示自身類的 cls 引數,可以來呼叫類的屬性,類的方法,例項化物件等。

12.dict() 函式用於建立一個字典。

13.complex() 函式用於建立一個值為 real + imag * j 的複數或者轉化一個字串或數為複數。如果第一個引數為字串,則不需要指定第二個引數。。

14.dir() 函式不帶引數時,返回當前範圍內的變數、方法和定義的型別列表;帶引數時,返回引數的屬性、方法列表。如果引數包含方法__dir__(),該方法將被呼叫。如果引數不包含__dir__(),該方法將最大限度地收集引數資訊。

15.eval() 函式用來執行一個字串表示式,並返回表示式的值。

16.file() 函式用於建立一個 file 物件,它有一個別名叫 open(),更形象一些,它們是內建函式。引數是以字串的形式傳遞的。

更多檔案操作可參考:Python 檔案I/O

17.filter() 函式用於過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。

該接收兩個引數,第一個為函式,第二個為序列,序列的每個元素作為引數傳遞給函式進行判,然後返回 True 或 False,最後將返回 True 的元素放到新列表中。

18. format 格式化函式

Python2.6 開始,新增了一種格式化字串的函式 str.format(),它增強了字串格式化的功能。

基本語法是通過 {} 和 : 來代替以前的 % 。

format 函式可以接受不限個引數,位置可以不按順序。

19.float() 函式用於將整數和字串轉換成浮點數。

20.globals() 函式會以字典型別返回當前位置的全部全域性變數。

21.hex() 函式用於將10進位制整數轉換成16進位制,以字串形式表示。

22.help() 函式用於檢視函式或模組用途的詳細說明。

23.id() 函式用於獲取物件的記憶體地址

24.input()函式

Python3.x 中 input() 函式接受一個標準輸入資料,返回為 string 型別。

Python2.x 中 input() 相等於 eval(raw_input(prompt)) ,用來獲取控制檯的輸入。

raw_input() 將所有輸入作為字串看待,返回字串型別。而 input() 在對待純數字輸入時具有自己的特性,它返回所輸入的數字的型別( int, float )。

25。int() 函式用於將一個字串或數字轉換為整型。

26. len() 方法返回物件(字元、列表、元組等)長度或專案個數

27.list() 方法用於將元組轉換為列表。

注:元組與列表是非常類似的,區別在於元組的元素值不能修改,元組是放在括號中,列表是放於方括號中。

28.locals() 函式會以字典型別返回當前位置的全部區域性變數。

對於函式, 方法, lambda 函式, 類, 以及實現了 __call__ 方法的類例項, 它都返回 True。

29.map() 會根據提供的函式對指定序列做對映。

第一個引數 function 以引數序列中的0每一個元素呼叫 function 函式,返回包含每次 function 函式返回值的新列表。

30.max() 方法返回給定引數的最大值,引數可以為序列。

31.oct() 函式將一個整數轉換成8進位制字串

32open() 函式用於開啟一個檔案,建立一個 file 物件,相關的方法才可以呼叫它進行讀寫。

更多檔案操作可參考:Python 檔案I/O

Python File

1.writelines() 方法:

writelines() 方法用於向檔案中寫入一序列的字串。

這一序列字串可以是由迭代物件產生的,如一個字串列表。

換行需要制定換行符 \n。

2.write()方法:

write() 方法用於向檔案中寫入指定字串。

在檔案關閉前或緩衝區重新整理前,字串內容儲存在緩衝區中,這時你在檔案中是看不到寫入的內容的。

如果檔案開啟模式帶 b,那寫入檔案內容時,str (引數)要用 encode 方法轉為 bytes 形式,否則報錯:TypeError: a bytes-like object is required, not 'str'。

3.read()方法:

read() 方法用於從檔案讀取指定的位元組數,如果未給定或為負則讀取所有。

4.close()方法:

close() 方法用於關閉一個已開啟的檔案。關閉後的檔案不能再進行讀寫操作, 否則會觸發 ValueError 錯誤。 close() 方法允許呼叫多次。

當 file 物件,被引用到操作另外一個檔案時,Python 會自動關閉之前的 file 物件。 使用 close() 方法關閉檔案是一個好的習慣。

5.flush方法:

flush() 方法是用來重新整理緩衝區的,即將緩衝區中的資料立刻寫入檔案,同時清空緩衝區,不需要是被動的等待輸出緩衝區寫入。

一般情況下,檔案關閉後會自動重新整理緩衝區,但有時你需要在關閉前重新整理它,這時就可以使用 flush() 方法。

6.fileno()方法:

fileno() 方法返回一個整型的檔案描述符(file descriptor FD 整型),可用於底層作業系統的 I/O 操作

7.isatty()方法:

isatty() 方法檢測檔案是否連線到一個終端裝置,如果是返回 True,否則返回 False