盤點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
盤點Python中易忽略的函數