python內(nèi)建函數(shù)總結(jié)

1. abs(x)

abs()函數(shù)返回?cái)?shù)字(可為普通型、長(zhǎng)整型或浮點(diǎn)型)的絕對(duì)值飞蛹。如果給出復(fù)數(shù)姑尺,返回值就是該復(fù)數(shù)的模。例如:

>>>print abs(-2,4)

2.4

>>>print abs(4+2j)

4.472135955

2. apply(function,args[,keywords])

apply()函數(shù)將args參數(shù)應(yīng)用到function上并蝗。function參數(shù)必須是可調(diào)用對(duì)象(函數(shù)祭犯、方法或其他可調(diào)用對(duì)象)秸妥。args參數(shù)必須以序列形式給出。列表在應(yīng)用之前被轉(zhuǎn)換為元組沃粗。function對(duì)象在被調(diào)用時(shí)粥惧,將args列表的內(nèi)容分別作為獨(dú)立的參數(shù)看待。例如:

apply(add,(1,3,4))

等價(jià)于

add(1,3,4)

在以列表或元組定義了一列參數(shù)最盅,且需要將此列表參數(shù)分別作為個(gè)個(gè)獨(dú)立參數(shù)使用的情況下突雪,必須使用apply()函數(shù)。在要把變長(zhǎng)參數(shù)列應(yīng)用到已函數(shù)上時(shí)涡贱,apply()函數(shù)非常有用咏删。

可選項(xiàng)keywords參數(shù)應(yīng)是個(gè)字典,字典的關(guān)鍵字是字符串问词。這些字符串在apply()函數(shù)的參數(shù)列末尾處給出督函,它們將被用作關(guān)鍵字參數(shù)。

3. buffer(object[,offset[,size]])

如果object對(duì)象支持緩存調(diào)用接口buffer()函數(shù)就為object對(duì)象創(chuàng)建一個(gè)新緩存戏售。這樣的對(duì)象包括字符串侨核、數(shù)組和緩存。該新緩存通過使用從offset參數(shù)值開始知道該對(duì)象末尾的存儲(chǔ)片段或從offset參數(shù)值開始直到size參數(shù)給出的尺寸為長(zhǎng)度的存儲(chǔ)片段來引用object對(duì)象灌灾。如果沒給出任何選項(xiàng)參數(shù)搓译,緩存區(qū)域就覆蓋整個(gè)序列,最終得到的緩存對(duì)象是object對(duì)象數(shù)據(jù)的只讀拷貝锋喜。

緩存對(duì)象用于給某個(gè)對(duì)象類型創(chuàng)建一個(gè)更友好的接口些己。比如,字符串對(duì)象類型通用緩存對(duì)象而變得可用嘿般,允許逐個(gè)字節(jié)地訪問字符串中的信息段标。

4. callable(object)

callable()函數(shù)在object對(duì)象是可調(diào)用對(duì)象的情況下,返回真(true)炉奴;否則假(false)逼庞,可調(diào)用對(duì)象包括函數(shù)、方法瞻赶、代碼對(duì)象赛糟、類(在調(diào)用時(shí)返回新的實(shí)例)和已經(jīng)定義‘調(diào)用’方法的類實(shí)例

5. chr(i)

chr()函數(shù)返回與ASCII碼i相匹配的一個(gè)單一字符串,如下例所示:

>>>print chr(72)+chr(101)+chr(108)+chr(111)

hello

chr()函數(shù)是ord()函數(shù)的反函數(shù)砸逊,其中ord()函數(shù)將字符串轉(zhuǎn)換回ASCII整數(shù)碼璧南,參數(shù)i的取值應(yīng)在0~255范圍內(nèi)。如果參數(shù)i的取值在此范圍之外师逸,將引發(fā)ValueError異常司倚。

6. cmp(x,y)

cmp()函數(shù)比較x和y這兩個(gè)對(duì)象,且根據(jù)比較結(jié)果返回一個(gè)整數(shù)。如果xy动知,則返回正數(shù)皿伺。請(qǐng)注意,此函數(shù)特別用來比較數(shù)值大小盒粮,而不是任何引用關(guān)系心傀,因而有下面的結(jié)果:

>>>a=99

>>>b=int('99')

>>>cmp(a,b)

0

7. coerce(x,y)

coerce()函數(shù)返回一個(gè)元組,該元組由兩個(gè)數(shù)值型參數(shù)組成拆讯。此函數(shù)將兩個(gè)數(shù)值型參數(shù)轉(zhuǎn)換為同一類型數(shù)字,其轉(zhuǎn)換規(guī)則與算術(shù)轉(zhuǎn)換規(guī)則一樣养叛。一下是兩個(gè)例子:

>>>a=1

>>>b=1.2

>>>coerce(a,b)

(1.0,1.2)

>>>a=1+2j

>>>b=4.3e10

>>>coerce(a,b)

((1+2j),(43000000000+0j))

8 compile(string,filename,kind)

compile()函數(shù)將string編譯為代碼對(duì)象种呐,編譯生成的代碼對(duì)象接下來被exec語句執(zhí)行,接著能利用eval()函數(shù)對(duì)其進(jìn)行求值弃甥。filename參數(shù)應(yīng)是代碼從其中讀出的文件名爽室。如果內(nèi)部生成文件名,filename參數(shù)值應(yīng)是相應(yīng)的標(biāo)識(shí)符淆攻。kind參數(shù)指定string參數(shù)中所含代碼的類別阔墩,有關(guān)kind可能取值的詳細(xì)信息,請(qǐng)參見表8-1

舉例如下:

>>>a=compile(‘print “Hello World”’,’’,’single’)

>>>exec(a)

Hello World

>>>eval(a)

Hello World

表 由compile()函數(shù)編譯的代碼的類別

Kind取值 編譯生成的代碼

exec 語句序列

eval 簡(jiǎn)單表達(dá)式

Single 簡(jiǎn)單交互語句

9. complex(real,[image])

Complex()函數(shù)返回一個(gè)復(fù)數(shù)瓶珊,其實(shí)部為real參數(shù)值啸箫。如果給出image參數(shù)的值,則虛部就為image伞芹;如果默認(rèn)image參數(shù)忘苛,則虛部為0j。

10. delattr(object,name)

delattr()函數(shù)在object對(duì)象許可時(shí)唱较,刪除object對(duì)象的name屬性扎唾,此函數(shù)等價(jià)于如下語句:

del object.attr

而delattr()函數(shù)允許利用編程方法定義來定義object和name參數(shù),并不是在代碼中顯示指定南缓。

11. dir([object])

當(dāng)沒有提供參數(shù)時(shí)胸遇,dir()函數(shù)列出在當(dāng)前局部符號(hào)表中保存的名字,如下例所示:

>>>import sys

>>>dir(sys)

12. divmod(a,b)

devmod()函數(shù)返回一個(gè)元組汉形,該元組包含a除以b的商和余數(shù)纸镊,如下例所示:

>>>divmod(7,4)

(1,3)

對(duì)整數(shù)而言,返回值與a/b和a%b相同获雕。如果給出的參數(shù)值是浮點(diǎn)數(shù)薄腻,則結(jié)果就是(q,a%b),其中:q通常是math.floor(a/b)届案,但是也可能比這小1庵楷,不管在什么情況下,q*b+a%b都非常逼近a;如果a%b是個(gè)非零值尽纽,則其正負(fù)號(hào)與b相同咐蚯,并且有0<=abs(a%b)

>>>divmod(3.75,1.125)

(3.0,0.375)

>>>divmod(4.99,1.001)

(4.0,0.98600000000000065)

>>>divmod(-3.5,1.1)

(-4.0,0.90000000000000036)

13. eval(expression[,global[,locals]])

eval()函數(shù)將expression字符串作為python標(biāo)準(zhǔn)表達(dá)式進(jìn)行分析并求值,返回expression字符串的值弄贿,當(dāng)不可調(diào)用其他可選參數(shù)時(shí)春锋,expression訪問調(diào)用該函數(shù)的程序段的全局和局部對(duì)象。另一個(gè)選擇是:以字典形式給出全局和局部符號(hào)表(參見后面部分對(duì)global()和local()函數(shù)的論述)差凹。

Eval()函數(shù)的返回值是被求職表達(dá)式的值期奔,如下例所示:

>>>a=99

>>>eval(‘divmod(a,7)’)

(14,1)

任何求職操作的語法錯(cuò)誤,都將引發(fā)成異常

eval()函數(shù)還能用來編譯諸如由complie()函數(shù)創(chuàng)建的代碼對(duì)象危尿,但僅當(dāng)該代碼對(duì)象用“eval”模式編譯過后才可用eval()函數(shù)編譯呐萌。

要執(zhí)行混合了語句和表達(dá)式的python任意代碼,請(qǐng)使用exec語句或使用execfile()函數(shù)來動(dòng)態(tài)地執(zhí)行含有任意代碼的文件谊娇。

14.execfile(file[,globals[,locals]])

execfile()函數(shù)與exec語句等價(jià)肺孤,不同之處在于:execfile()函數(shù)執(zhí)行文件中的語句,而exec語句處理字符串济欢。其中g(shù)lobals和locals參數(shù)應(yīng)是字典赠堵,該字典包含文件在執(zhí)行期間有效的符號(hào)表;如果locals參數(shù)省略法褥,則所有的引用都使用globals名稱空間茫叭。如果兩個(gè)可選參數(shù)都省略,文件就訪問運(yùn)行期間的當(dāng)前符號(hào)表半等。

15.filter(function,list)

filter()函數(shù)根據(jù)function參數(shù)返回的結(jié)果是否為真(true)來過濾list參數(shù)中的項(xiàng)杂靶,最后返回一個(gè)新列表,如下例所示:

a=[1,2,3, 4, 5,6,,7,8,9]

b=filter(lambda x:x>6,a)

print b

[7,8,9]

如果function參數(shù)值為None酱鸭,就是用identity函數(shù)吗垮,list參數(shù)中的所有為假(false)的元素都被刪除。

16. flaot(x)

float()函數(shù)將x參數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)凹髓,其中:x可以是字符串烁登,也可以是數(shù)字。

17. getattr(object,name[,default])

getattr()函數(shù)返回object的name屬性值蔚舀。在語法上饵沧,以下語句:

getattr(x,’myvalue’)

等價(jià)于

x.myvalue

如果name參數(shù)不存在,但給出defalut參數(shù)的值赌躺,則此函數(shù)就返回default參數(shù)值狼牺;否則引發(fā)AttributeError異常

18. globals()

globals()函數(shù)返回一個(gè)表示當(dāng)前全局符號(hào)表的字典。這個(gè)字典通常就是當(dāng)前模塊的字典礼患。如果globals()函數(shù)是在一函數(shù)或方法中被調(diào)用是钥,它就返回定義該函數(shù)或方法的模塊的符號(hào)表掠归,而不是調(diào)用此函數(shù)的模塊的符號(hào)表。

19. hasattr(object,name)

如果object對(duì)象具有與name字符串相匹配的屬性悄泥,hasattr()函數(shù)返回真(true)虏冻;否則返回0。

20. hash(object)

hash()函數(shù)返回關(guān)于object對(duì)象的整數(shù)散列值弹囚。如任何兩個(gè)對(duì)象比較起來是等價(jià)的厨相,則它們的散列值是一樣的。此函數(shù)不應(yīng)用于可便對(duì)向上鸥鹉。

21.hex(x)

hex()函數(shù)將一整數(shù)轉(zhuǎn)換為十六進(jìn)制字符串蛮穿,該字符串是個(gè)有效的python表達(dá)式、

22. id(object)

id()函數(shù)返回值為一個(gè)整數(shù)(或長(zhǎng)整型整數(shù))——該對(duì)象的“標(biāo)識(shí)“——該標(biāo)識(shí)在其對(duì)應(yīng)對(duì)象的生命期內(nèi)毁渗,確保是唯一的和恒定不變的绪撵。

23. input([prompt])

input()函數(shù)與eval(raw_input(prompt))等價(jià)。

24. int(x,[radix])

int()函數(shù)將使數(shù)字或字符串x轉(zhuǎn)換為“普通”整數(shù)祝蝠。如果給出radix參數(shù)的值,則radix參數(shù)值用作轉(zhuǎn)換的基數(shù)幻碱,該參數(shù)應(yīng)是2~36范圍內(nèi)的一個(gè)整數(shù)绎狭。

25. intern(string)

intern()函數(shù)將string加入到保留字符串的表,返回值為保留的版本號(hào)褥傍±芩唬“保留字符串”通過指針可用,而不是一個(gè)純的字符串恍风;因此允許利用指針比較代替字符串比較來進(jìn)行字典關(guān)鍵字的查找蹦狂,這比通常的字符串比較方法功能有所改善。

在python名稱空間表和用于保留模塊朋贬、類或?qū)嵙傩缘淖值渲惺褂玫拿滞ǔ1槐A粲靡约铀倌_本執(zhí)行凯楔。

保留字符串定義后不能被作為無用單元收集,所以必須注意在大字典關(guān)鍵字集上使用保留字符串將大大增加內(nèi)存需求锦募,即使字典關(guān)鍵字應(yīng)急超出了作用域摆屯。

26. isinstance(object,class)

isinstance()函數(shù)在object參數(shù)是class參數(shù)的一個(gè)實(shí)例時(shí),返回真糠亩。函數(shù)值的確定服從普通繼承法則和子類虐骑。如果object參數(shù)是在types模塊中利用類型類定義的特殊類型的實(shí)例,也能用isinstance()函數(shù)來識(shí)別赎线。如果class參數(shù)不是類廷没,也不是類型對(duì)象,就引發(fā)TypeError異常

27.issubclass(class1,class2)

如果class1參數(shù)是class2參數(shù)的子類垂寥,issubclass()函數(shù)則返回真颠黎。類通常被認(rèn)為是其自身的子類另锋。若兩個(gè)參數(shù)中任一個(gè)都不是類對(duì)象,則引發(fā)TypeError異常

28. len(s)

len()函數(shù)返回一序列(字符串盏缤、元組或列表)或字典對(duì)象的長(zhǎng)度

29. list(sequence)

list()函數(shù)返回以列表砰蠢。該列表的項(xiàng)及順序與sequence參數(shù)的項(xiàng)及順序相同,如下例所示:

>>>list(‘a(chǎn)bc’)

[‘a(chǎn)’,’b’,’c’]

>>>list([1,2,3])

[1,2,3]

30. locals()

locals()函數(shù)返回表示當(dāng)前局部符號(hào)表的字典

31. long(x)

long()函數(shù)將字符串或數(shù)字轉(zhuǎn)換為長(zhǎng)整型數(shù)唉铜,對(duì)浮點(diǎn)數(shù)的轉(zhuǎn)換遵循與int()相同的規(guī)則

32. map(function,list,…)

map()函數(shù)將function運(yùn)用到list中的每一項(xiàng)上台舱,并返回新的列表,如下例所示:

>>>a=[1,2,3,4]

>>>map(lambda x:pow(x,2),a)

[1,4,9,16]

若提供附加的列表潭流,則它們就被并行地提供給function竞惋。在后續(xù)無元素的列表增加None,直到所有參數(shù)列表達(dá)到相同的長(zhǎng)度為止灰嫉。

如果function參數(shù)值為None拆宛,則假定為identify函數(shù),將使map()函數(shù)返回刪除所有為假的參數(shù)的list讼撒。如果function參數(shù)值為None浑厚,且給定多個(gè)列表參數(shù),返回的列表由一個(gè)個(gè)元組組成根盒,這些元組由函數(shù)中的每一個(gè)參數(shù)列表內(nèi)相同對(duì)應(yīng)位置上的參數(shù)組成钳幅,如下例所示:

>>>map(None,[1,2,3,4],[4,5,6,7])

[(1,4),(2,5),(3,6),(4,7)]

上例的結(jié)果與zip()函數(shù)產(chǎn)生的結(jié)果等價(jià)

33. max(s,[,args…])

當(dāng)僅給定一個(gè)參數(shù)時(shí),max()函數(shù)返回序列s的最大值炎滞。當(dāng)給定一列參數(shù)時(shí)敢艰,max()函數(shù)返回給定參數(shù)的最大參數(shù)

34. min(s[,args…])

當(dāng)僅給定一個(gè)參數(shù)時(shí),min()函數(shù)返回序列s的最小值册赛。當(dāng)給定一列參數(shù)時(shí)钠导,min()函數(shù)返回給定參數(shù)中的最小值。記咨瘛:多參數(shù)調(diào)用的序列不被遍歷牡属,每個(gè)列表參數(shù)作為一個(gè)整體進(jìn)行比較,如:

min([1,2,3],[4,5,6])

返回

[1,2,3]

而不是通常所想的結(jié)果為1扼睬,要得到一個(gè)或多個(gè)列表中元素的最小值湃望,可將所有列表連成一串,如下所示:

min([1,2,3]+[4,5,6])

35. oct(x)

該函數(shù)將整數(shù)轉(zhuǎn)換為八進(jìn)制字符串痰驱。其結(jié)果是個(gè)有效的python表達(dá)式证芭,如下例所示:

>>>oct(2001)

‘03721’

請(qǐng)注意,返回值通常是無符號(hào)數(shù)担映。這樣致使oct(-1)在32位機(jī)器上產(chǎn)生’037777777777’的結(jié)果

36. open(filename[,mode[,bufsize]])

open()函數(shù)通過使用mode和緩存bufsize類型來打開filename標(biāo)識(shí)的文件废士。此函數(shù)返一文件對(duì)象

其中mode與系統(tǒng)函數(shù)fopen()使用的模式相同。如果mode參數(shù)省略蝇完,其默認(rèn)取值為r

模式 含義

r 打開用于讀

w 打開用于寫

a 打開用于附加(打開期間官硝,文件位置自動(dòng)移到文件末尾)

r+ 打開用于更新(讀和寫)

w+ 截?cái)?或清空)文件矗蕊,接著打開文件用于讀寫

a+ 打開文件用于讀和寫,并自動(dòng)改變當(dāng)前為止到文件尾

當(dāng)附加任何模式選項(xiàng)時(shí)氢架,以二進(jìn)制模式而不是文本模式傻咖,打開文件(這種模式

b 僅對(duì)windows、dos和其他一些操作系統(tǒng)有效岖研,對(duì)Unix卿操、MacOS和BeOS則不管選項(xiàng)為何值,以二進(jìn)制模式對(duì)待所有文件)

open()函數(shù)的bufsize選項(xiàng)參數(shù)決定從文件中讀取數(shù)據(jù)時(shí)所使用的緩存的大小孙援,如果bufsize省略害淤,就使用系統(tǒng)默認(rèn)的緩存容量

bufsize值 說明

禁用緩存

行緩存

>1 使用大小近似為bufsize字符長(zhǎng)度的緩存

<0 使用系統(tǒng)默認(rèn)

37.ord(c)

該函數(shù)返回由一個(gè)字符c組成的字符串的ASCII碼值或Unicode數(shù)字碼。ord()函數(shù)是chr()函數(shù)和nuichr()函數(shù)的反函數(shù)

38.pow(x,y[,z])

該函數(shù)返回以x為底數(shù)以y為指數(shù)的冪值拓售。如果給出z窥摄,該函數(shù)就計(jì)算x的y次冪值被z取模的值,這樣的計(jì)算比利用:

pow(x,y)%z

的效率更高

提供給pow()函數(shù)的參數(shù)應(yīng)是數(shù)值型础淤,并且給定的類型決定返回值的類型崭放。如果計(jì)算得出的數(shù)值不能用給定參數(shù)值的類型表示,則引發(fā)異常鸽凶,比如币砂,以下對(duì)pow()的調(diào)用將失敗:

pow(2,-1)

但是

pow(2.0,-1)

是有效的

39. range([start,]stop[,step])

該函數(shù)返回?cái)?shù)值列表吱瘩,該數(shù)值列表從start開始,以step為步長(zhǎng)迹缀,于stop之前結(jié)束使碾。所有的數(shù)字都應(yīng)列出,并且以普通整型數(shù)返回祝懂。如果step省略票摇,則默認(rèn)取1.如果start省略,則從0開始求值砚蓬。如果以兩個(gè)參數(shù)形式調(diào)用矢门,則認(rèn)作給定的參數(shù)是start和stop,如果要定義步長(zhǎng)就必須給出全部的三個(gè)參數(shù)灰蛙。下面對(duì)range()函數(shù)的調(diào)用使用了值為正數(shù)的步長(zhǎng)step:

>>>range(5,25,5)

[5,10,15,20]

請(qǐng)注意祟剔,最后的數(shù)值是stop減去step,range()函數(shù)的返回值從小遞增到大摩梧,趨近stop的值物延,但不包含stop這個(gè)值

如果step的給定值是負(fù)數(shù),range()函數(shù)的返回值從大遞增到小仅父,而不是遞增叛薯,stop必須比stop谢胍鳌;否則返回的列表為空耗溜。下列說明了step取值為負(fù)數(shù)的運(yùn)用情況:

>>>range(10,0,-1)

[10,9,8,7,6,5,4,3,2,1]

>>>range(25,0,-5)

[25,20,15,10,5]

>>>range(0,10,-1)

[]

40. raw_input([prompt])

該函數(shù)從sys.stdin接受原始輸入并返回字符串组力。輸入以換行符為結(jié)束,其中換行符在輸入字符串返回給調(diào)用者之前被去除抖拴。如果給出prompt燎字,末尾不含換行符的prompt就被寫到sys.stdout中,并用作輸入的提示城舞,如下例所示:

>>>name=raw_input(‘Name?’)

Name?Martin

如果已加載readline模塊轩触,則諸如行編輯和歷史記錄的特性在輸入期間就得到支持

41. reduce(function,sequence[,initializer])

該函數(shù)一次應(yīng)用function(支持兩個(gè)函數(shù))到sequence中的每個(gè)元素上,逐漸縮短整個(gè)語句直到為一個(gè)單一的值家夺。舉例脱柱,下面的語句模擬了算術(shù)運(yùn)算符“!”:

reduce(lambda x,y:x*y,[1,2,3,4,5])

其結(jié)果如同執(zhí)行以下計(jì)算一樣:

((((1*2)*3)*4)*5)

結(jié)果等于120

如果給出initializer參數(shù)值拉馋,則initializer參數(shù)值就被用作序列的第一個(gè)元素榨为,如下列所示:

>>>reduce(lambda x,y:x*y,[1,2,3,4,5],10)

1200

42. reload(module)

reload()函數(shù)將以前導(dǎo)入過的模塊再加載一次。重新加載(reload)包括最初導(dǎo)入模塊是應(yīng)用的分析過程和初始化過程煌茴。這樣就允許在不退出解釋器的情況重新加載已更改的python模塊随闺。

使用reload()函數(shù)的若干注意事項(xiàng)如下:

*如果模塊在語法上是正確的,但在初始化過程中失敗蔓腐,則導(dǎo)入過程不能正確地將模塊的名字綁定到符號(hào)表中矩乐,這時(shí),必須在模塊能被重新加載之前使用import()函數(shù)加載該模塊回论。

*重新加載的模塊不刪除最初舊版本在符號(hào)表中的登記項(xiàng)散罕。對(duì)于有恒定名字的對(duì)象和函數(shù),這當(dāng)然不是問題傀蓉;但是欧漱,若對(duì)一模塊實(shí)體更改了名字,模塊名在重新加載后仍保持在符號(hào)表中

*支持?jǐn)U展模塊(它依賴與內(nèi)置的或所支持的動(dòng)態(tài)加載的函數(shù)庫)的重新加載葬燎,但可能是無目標(biāo)的误甚,并且確定可能導(dǎo)致失敗,這完全依賴于動(dòng)態(tài)加載的函數(shù)庫的行為

*如果以模塊利用from…import…方式從另一個(gè)模塊導(dǎo)入對(duì)象谱净,reload()函數(shù)不重定義導(dǎo)入的對(duì)象窑邦,可利用import…形式避免這個(gè)問題

*提供類的重新加載模塊不影響所提供類的任何已存實(shí)例——已存實(shí)例將繼續(xù)使用原來的方法定義;只有該類的新實(shí)例使用新格式壕探。這個(gè)原則對(duì)派生類同樣適用

43. repr(object)

repr()函數(shù)返回對(duì)象的字符串表示奕翔。這與將對(duì)象或?qū)傩赃m用單反引號(hào)(‘)的結(jié)果是一致的况鸣。返回的字符串產(chǎn)生一個(gè)對(duì)象洲胖,該對(duì)象的值與將object傳遞給eval()函數(shù)產(chǎn)生的值一樣,如下例所示:

>>>dict={‘One’:1,’Two:2’,’Many’:{‘Many’:4,’ManyMany’:8}}

>>>repr(dict)

“{‘One’:1,’Many’:{‘Many’:4,’ManyMany’:8},’Two’:2}”

44. round(x[,n])

round()函數(shù)返回浮點(diǎn)型參數(shù)x舍入到十進(jìn)制小數(shù)點(diǎn)后n位的值,如下例所示:

>>>round(0.4)

0.0

>>>round(0.5)

1.0

>>>round(-0.5)

-1.0

>>>round(1985,-2)

2000.0

45. setattr(object,name,value)

該函數(shù)將object參數(shù)的name屬性設(shè)置為value參數(shù)值薄扁。setattr()函數(shù)是getattr()函數(shù)的反函數(shù)旗吁,后者僅獲得信息舆床,以下語句:

setattr(myattr’,’new value’)

等價(jià)于

myobj.myattr=’new value’

setattr()函數(shù)能用在這樣的情況下:屬性是通過name參數(shù)以編程方式命名该溯,而不是顯式地命名屬性

46. slice([start,]stop,[,step])

該函數(shù)返回已序列切片(slice)對(duì)象,該對(duì)象表示由range(start,stop,step)指定的索引集绅络。如果給出一個(gè)參數(shù)月培,此參數(shù)就作為stop參數(shù)值;如果給出兩個(gè)參數(shù)恩急,它們就作為start和stop的參數(shù)值杉畜;任何未給出參數(shù)值的參數(shù)默認(rèn)取值為None。序列切片對(duì)象有3個(gè)屬性(start,stop,和step)衷恭,這3個(gè)屬性僅僅返回要提供給slice()函數(shù)的參數(shù)

47. str(object)

返回對(duì)象的一個(gè)字符串表示此叠。這與repr()函數(shù)相似,唯一不同之處在于:此函數(shù)返回值設(shè)計(jì)為可打印字符串而不是與eval()函數(shù)相兼容的字符串

48. tuple(object)

tuple()函數(shù)返回一個(gè)元組随珠,該元組的項(xiàng)及項(xiàng)的順序與sequence參數(shù)完全一樣灭袁,以下就是tuple()函數(shù)的舉例:

>>>tuple(‘a(chǎn)bc’)

(‘a(chǎn)’,’b’,’c’)

>>>tuple([1,2,3])

(1,2,3)

49. type(object)

該函數(shù)返回object參數(shù)的類型。返回值是個(gè)如類型模塊所描述一樣的類型對(duì)象窗看,舉例如下:

>>>import type

>>>if type(string)==type.StringType:

print ‘This is a string’

50. unichr(i)

該函數(shù)返回代碼是一個(gè)整型參數(shù)i的Unicode字符的Unicode字符串茸歧。此函數(shù)等價(jià)于前面論述的chr()函數(shù)。請(qǐng)注意显沈,要將Unicode字符轉(zhuǎn)換回其整數(shù)格式软瞎,可使用ord()函數(shù);沒有uniord()函數(shù)拉讯、如果給出的整數(shù)超出0~65535這個(gè)范圍涤浇,則引發(fā)ValueError異常

51. unicode(string[,encoding[,errors]]))

該函數(shù)利用編碼格式解碼器將給定的字符串從一種格式解碼為另一種格式。編碼的任何錯(cuò)誤都用errors參數(shù)定義的字符串標(biāo)記

此函數(shù)特別用于在字符串和Unicode編碼格式之間轉(zhuǎn)換遂唧。默認(rèn)(當(dāng)不給出encoding參數(shù)值)操作是以嚴(yán)格方式將字符串解碼為UTF-8格式芙代,發(fā)生errors錯(cuò)誤時(shí)就引發(fā)ValueError異常吊奢。有關(guān)合適的解碼列表盖彭,請(qǐng)見codecs模塊

52.vars([object])

該函數(shù)返回對(duì)應(yīng)于當(dāng)前局部符號(hào)表的字典。當(dāng)給出模塊页滚、類或?qū)嵗龝r(shí)召边,vars()函數(shù)返回對(duì)應(yīng)那個(gè)對(duì)象的符號(hào)表的字典。因?yàn)榻Y(jié)果是非定義的裹驰,所以一定不要修改返回的字典

53. xrange([start,]stop[,step])

該函數(shù)的作用與range()函數(shù)一樣隧熙,唯一的區(qū)別是:xrange()函數(shù)返回一個(gè)xrange對(duì)象。xrange()對(duì)象是個(gè)不透明對(duì)象類型幻林,此類型返回的信息與所請(qǐng)求的參數(shù)列表是一致的贞盯,但是它不必存儲(chǔ)列表中每個(gè)獨(dú)立的元素音念。在創(chuàng)建非常巨大列表的情況下,此函數(shù)特別有用躏敢;利用xrange()函數(shù)節(jié)省下來的內(nèi)存比起用range()函數(shù)是相當(dāng)可觀的

54. zip(seq1,…)

zip()函數(shù)處理一系列序列闷愤,將這些序列返回一個(gè)元組列表。其中件余,每個(gè)元組包含了給定的每個(gè)序列的第n個(gè)元素讥脐。以下是個(gè)例子:

>>>a=[1,2,3,4]

>>>b=[5,6,7,8]

>>>zip(a,b)

[(1,5),(2,6),(3,7),(4,8)]

55. 執(zhí)行任意語句

python支持3條指令,這3條指令允許執(zhí)行一些任意文件或python代碼的字符串啼器,這3條指令是exec語句旬渠、execfile()和eval()函數(shù)。

56. exec語句

exec語句被設(shè)計(jì)為執(zhí)行能使用函數(shù)和語句的任意組合的python的任何代碼片段端壳。執(zhí)行的代碼訪問相同的全局定義和局部定義的對(duì)象告丢、類和方法或函數(shù)。以下是使用exec語句的簡(jiǎn)單例子:

exec “print ‘Hello World’”

也能通過提供一個(gè)包含對(duì)象及其取值的列表的字典來限定對(duì)exec語句有效的資源更哄,如下例這樣:

exec “print message” in myglobals,mylocals

能用globals()和locals()函數(shù)來獲得當(dāng)前的字典

請(qǐng)注意芋齿,exec語句執(zhí)行表達(dá)式和語句、或者對(duì)表達(dá)式和語句求值成翩,但是exec語句不返回任何值觅捆。因?yàn)閑xec是語句不是函數(shù),所以任何獲取返回值的試圖都將導(dǎo)致語法錯(cuò)誤

57. execfile()函數(shù)

該函數(shù)執(zhí)行與exec語句同樣的操作麻敌,正如前面所描述的那樣栅炒,它們的不同之處在于:execfile()函數(shù)從問幾十年中讀取被執(zhí)行的語句,執(zhí)行的對(duì)象不是字符串术羔,不是代碼對(duì)象赢赊;execfile()函數(shù)的其他所有方面都與exec語句等價(jià)

58. eval()函數(shù)

該函數(shù)不允許執(zhí)行任意的python語句。eval()函數(shù)被設(shè)計(jì)為:執(zhí)行一個(gè)python表達(dá)式级历,并返回值释移,如下例中一樣:

result=eval(userexpression)

或者在語句中更顯式地給出表達(dá)式,如下例所示:

result=eval(“3+6”)

不能使用eval()函數(shù)去執(zhí)行語句寥殖,根據(jù)經(jīng)驗(yàn)玩讳,通常使用eval()函數(shù)開將一表達(dá)式求值并返回一個(gè)值,而在其他所有情況下則使用exec語句

exec()

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末嚼贡,一起剝皮案震驚了整個(gè)濱河市熏纯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌粤策,老刑警劉巖樟澜,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡秩贰,警方通過查閱死者的電腦和手機(jī)霹俺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來毒费,“玉大人吭服,你說我怎么就攤上這事』嚷蓿” “怎么了艇棕?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)串塑。 經(jīng)常有香客問我沼琉,道長(zhǎng),這世上最難降的妖魔是什么桩匪? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任打瘪,我火速辦了婚禮,結(jié)果婚禮上傻昙,老公的妹妹穿的比我還像新娘闺骚。我一直安慰自己,他們只是感情好妆档,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布僻爽。 她就那樣靜靜地躺著,像睡著了一般贾惦。 火紅的嫁衣襯著肌膚如雪胸梆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天须板,我揣著相機(jī)與錄音碰镜,去河邊找鬼。 笑死习瑰,一個(gè)胖子當(dāng)著我的面吹牛绪颖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播甜奄,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼柠横,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了贺嫂?” 一聲冷哼從身側(cè)響起滓鸠,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤雁乡,失蹤者是張志新(化名)和其女友劉穎第喳,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體踱稍,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡曲饱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年悠抹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扩淀。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡楔敌,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出驻谆,到底是詐尸還是另有隱情卵凑,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布胜臊,位于F島的核電站勺卢,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏象对。R本人自食惡果不足惜黑忱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望勒魔。 院中可真熱鬧甫煞,春花似錦、人聲如沸冠绢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽弟胀。三九已至埃跷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間邮利,已是汗流浹背弥雹。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留延届,地道東北人剪勿。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像方庭,于是被迫代替她去往敵國(guó)和親厕吉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1. abs(x) abs()函數(shù)返回?cái)?shù)字(可為普通型械念、長(zhǎng)整型或浮點(diǎn)型)的絕對(duì)值头朱。如果給出復(fù)數(shù),返回值就是該復(fù)數(shù)的...
    程猿先生閱讀 480評(píng)論 1 0
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,233評(píng)論 0 4
  • 1. abs(x) abs()函數(shù)返回?cái)?shù)字(可為普通型龄减、長(zhǎng)整型或浮點(diǎn)型)的絕對(duì)值项钮。如果給出復(fù)數(shù),返回值就是該復(fù)數(shù)的...
    TENG書閱讀 414評(píng)論 0 0
  • 一轉(zhuǎn)眼 又盼來了 你閃亮登場(chǎng)的季節(jié) 一簇簇潔白的花瓣 在綠葉的映襯下 顯得格外奪目 更加純潔、無暇 站立在槐花樹下...
    藍(lán)夢(mèng)奇閱讀 553評(píng)論 3 12
  • 1烁巫、冰雪運(yùn)動(dòng)十年規(guī)劃發(fā)布產(chǎn)業(yè)有望迎萬億規(guī)模 體育總局2日發(fā)布《冰雪運(yùn)動(dòng)發(fā)展規(guī)劃(2016-2025年)》及《全國(guó)冰...
    智尊寳閱讀 305評(píng)論 0 0