論python工廠函數與內建函數

所謂工廠函數就是指這些內建函數都是類對象, 當你調用它們時,其實是建立了一個類實例。

工廠函數:
int(),long(),float(),complex(),bool()
str(),unicode(),basestring()
list(),tuple():生成列表或者元組
type():查看類型
dict():生成一個字典
set():   生產可變集合
frozenset():生成不可變集合
object()
classmethod():聲明一個類方法
staticmethod():聲明一個靜態方法
super():     指此類的父類
property()
file()


數字類型內建函數:
功能內建函數:
應用於全部數值類型的內建函數abs(), coerce(), divmod(), pow()和 round(),
僅適用於整數的內建函數:這種函數分兩類:
一類用於進制轉換:oct()八進制轉換,hex()十六進制轉換。
>>> hex(255)
'0xff'
>>> oct(255)
'0377'
>>> oct(23094823l)
'0130063047L'
>>> oct(65535*2)
'0377776'
一類用於ASCII 轉換:。每一個字符對應一個惟一的整數(0-255)。
chr(num)        將ASCII值的數字轉換成ASCII字符,範圍只能是0<= num <= 255。
ord(chr)        接受一個 ASCII 或 Unicode字符(長度爲1的字符串),返回相應的ASCII或Unicode 值。
unichr(num)     接受Unicode碼值,返回其對應的Unicode字符。所接受的碼值範圍依賴於你的Python是構建於UCS‐2仍是UCS‐4。

>>> ord('a')
97
>>> ord('A')
65
>>> ord('0')
48



字符串內建函數
方法                                      描述
string.capitalize()                         把字符串的第一個字符大寫

string.center(width)                        返回一個原字符串居中,並使用空格填充至長度width 的新字符串

string.count(str, beg=0,end=len(string))        返回str在string 裏面出現的次數,若是beg 或者end 指定則返回指定範圍內str 出現的次                                           數

string.decode(encoding='UTF- 8',errors='strict') 以encoding 指定的編碼格式解碼string,若是出錯默認報一個ValueError的異常, 除非                                             errors 指定的是'ignore'或者'replace'

string.encode(encoding='UTF- 8',errors='strict') 以encoding 指定的編碼格式編碼string,若是出錯默認報一個ValueError的異常,除非                                          errors 指定的是'ignore'或者'replace'

string.endswith(obj, beg=0,end=len(string))     檢查字符串是否以obj 結束,若是beg 或者end指定則檢查指定的範圍內是否以obj 結束,                                         若是是,返回True,不然返回False.

string.expandtabs(tabsize=8)                 把字符串string中的tab 符號轉爲空格,默認的空格數tabsize 是8.

string.find(str, beg=0,end=len(string))        檢測str是否包含在string 中,若是beg 和end 指定範圍,則檢查是否包含在指定範圍內,                                        若是是返回開始的索引值,不然返回-1
string.index(str, beg=0,end=len(string))      跟find()方法同樣,只不過若是str 不在string 中會報一個異常.

string.isalnum()                           若是string至少有一個字符而且全部字符都是字母或數字則返回True,不然返回False

string.isalpha()                           若是string至少有一個字符而且全部字符都是字母則返回True,不然返回False

string.isdecimal()                             若是string只包含十進制數字則返回True 不然返回False.

string.isdigit()                            若是string 只包含數字則返回True不然返回False.

string.islower()                           若是string中包含至少一個區分大小寫的字符,而且全部這些(區分大小寫的)字符都是小寫                                        ,則返回True,不然返回False

string.isnumeric()                         若是string 中只包含數字字符,則返回True,不然返回False

string.isspace()                          若是string 中只包含空格,則返回True,不然返回False.

string.istitle()                          若是string 是標題化的(見title())則返回True,不然返回False

string.isupper()                          若是string 中包含至少一個區分大小寫的字符,而且全部這些(區分大小寫的)字符都是大寫,                                       則返回True,不然返回False

string.join(seq) Merges (concatenates)        以string做爲分隔符,將seq 中全部的元素(的字符串表示)合併爲一個新的字符串

string.ljust(width)                       返回一個原字符串左對齊,並使用空格填充至長度width 的新字符串

string.lower()                            轉換string 中全部大寫字符爲小寫.

string.lstrip()                           截掉string 左邊的空格

string.partition(str)                    有點像find()和split()的結合體,從str 出現的第一個位置起,把字符串string分紅一個3 元素                                       的元組(string_pre_str,str,string_post_str),若是string 中不包含str則string_pre_str ==                                        string.

string.replace(str1, str2,num=string.count(str1))   把string 中的str1 替換成str2,若是num指定,則替換不超過num 次.

string.rfind(str, beg=0,end=len(string))            相似於find()函數,不過是從右邊開始查找.

string.rindex( str, beg=0,end=len(string))          相似於index(),不過是從右邊開始.

string.rjust(width)                              返回一個原字符串右對齊,並使用空格填充至長度width 的新字符串

string.rpartition(str)                           相似於partition()函數,不過是從右邊開始查找.

string.rstrip()                                   刪除string字符串末尾的空格.

string.split(str="", num=string.count(str))            以str爲分隔符切片string,若是num有指定值,則僅分隔num 個子字符串

string.splitlines(num=string.count('\n'))             按照行分隔,返回一個包含各行做爲元素的列表,若是num 指定則僅切片num 個行.

string.startswith(obj, beg=0,end=len(string))             檢查字符串是不是以obj開頭,是則返回True,不然返回False。若是beg 和                                                    end 指定值,則在指定範圍內檢查

string.strip([obj])                                   在string上執行lstrip()和rstrip()

string.swapcase()                                     翻轉string 中的大小寫

string.title()                                    返回"標題化"的string,就是說全部單詞都是以大寫開始,其他字母均爲小寫(見                                                istitle())

string.translate(str, del="")                   根據str 給出的表(包含256 個字符)轉換string 的字符,要過濾掉的字符放到del參數中

string.upper()                                轉換string 中的小寫字母爲大寫
string.zfill(width)                           返回長度爲width 的字符串,原字符串string右對齊,前面填充0

列表類型內建函數:
List Method Operation
list.append(obj) 向列表中添加一個對象obj
list.count(obj) 返回一個對象obj 在列表中出現的次數
list.extend(seq)a 把序列seq 的內容添加到列表中
list.index(obj, i=0,
j=len(list)) 返回list [k] == obj 的k 值,而且k 的範圍在 i<=k
引起ValueError 異常.
list.insert(index, obj) 在索引量爲index 的位置插入對象obj.
list.pop(index=-1)a 刪除並返回指定位置的對象,默認是最後一個對象
list.remove(obj) 從列表中刪除對象obj
list.reverse() 原地翻轉列表
list.sort(func=None,key=None,reverse=False)b以指定的方式排序列表中的成員,若是func 和key 參數指定,
則按照指定的方式比較各個元素,若是reverse 標誌被置爲
True,則列表以反序排列.

元組沒有內建函數。

映射類型內建函數:
cmp():     字典的比較,先比較長度,在比較鍵,在比較字典的值
len():。   對字典調用len(),它會返回全部元素(鍵-值對)的數目:
hash():   內建函數hash()自己並非爲字典設計的方法,但它能夠判斷某個對象是否能夠作一個字典的鍵。將一個對象做爲參數傳遞給hash(),  

         會返回這個對象的哈希值。只有這個對象是可哈希的,纔可做爲字典的鍵 (函數的返回值是整數,不產生錯誤或異常)。
相關文章
相關標籤/搜索