(轉)論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(),  
 
         會返回這個對象的哈希值。只有這個對象是可哈希的,才可作為字典的鍵 (函數的返回值是整數,不產生錯誤或異常)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM