TableofContents1.常用函数2.内置类型转换函数3.序列处理函数4.String模块Chapter1.常用函数abs(x)abs()返回一个数字的绝对值。如果给出复数,返回值就是该复数的模。printabs(-100)100printabs(1+2j)2.2360679775callable(object)callable()函数用于测试对象是否可调用,如果可以则返回1(真);否则返回0(假)。可调用对象包“”括函数、方法、代码对象、类和已经定义了调用方法的类实例。a=123printcallable(a)0printcallable(chr)1cmp(x,y)cmp()函数比较x和y两个对象,并根据比较结果返回一个整数,如果xy,则返回-1;如果xy,则返回1,如果x==y则返回0。a=1b=2c=2printcmp(a,b)-1printcmp(b,a)1printcmp(b,c)0divmod(x,y)divmod(x,y)函数完成除法运算,返回商和余数。divmod(10,3)(3,1)divmod(9,3)(3,0)isinstance(object,class-or-type-or-tuple)-bool测试对象类型a='isinstancetest'b=1234isinstance(a,str)Trueisinstance(a,int)Falseisinstance(b,str)Falseisinstance(b,int)Truelen(object)-integerlen()函数返回字符串和序列的长度。len(aa)2len([1,2])2pow(x,y[,z])pow()函数返回以x为底,y为指数的幂。如果给出z值,该函数就计算x的y次幂值被z取模的值。printpow(2,4)16printpow(2,4,2)0printpow(2.4,3)13.824range([lower,]stop[,step])range()函数可按参数生成连续的有序整数列表。range(10)[0,1,2,3,4,5,6,7,8,9]range(1,10)[1,2,3,4,5,6,7,8,9]range(1,10,2)[1,3,5,7,9]round(x[,n])round()函数返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。round(3.333)3.0round(3)3.0round(5.9)6.0type(obj)type()函数可返回对象的数据类型。type(a)type'list'type(copy)type'module'type(1)type'int'xrange([lower,]stop[,step])xrange()函数与range()类似,但xrnage()并不创建列表,而是返回一个xrange对象,它的行为与列表相似,但是只在需要时才计算列表值,当列表很大时,这个特性能为我们节省内存。a=xrange(10)printa[0]0printa[1]1printa[2]2Chapter2.内置类型转换函数chr(i)chr()函数返回ASCII码对应的字符串。printchr(65)Aprintchr(66)Bprintchr(65)+chr(66)ABcomplex(real[,imaginary])complex()函数可把字符串或数字转换为复数。complex(2+1j)(2+1j)complex(2)(2+0j)complex(2,1)(2+1j)complex(2L,1)(2+1j)float(x)float()函数把一个数字或字符串转换成浮点数。float(12)12.0float(12L)12.0float(12.2)12.199999999999999hex(x)hex()函数可把整数转换成十六进制数。hex(16)'0x10'hex(123)'0x7b'long(x[,base])long()函数把数字和字符串转换成长整数,base为可选的基数。long(123)123Llong(11)11Llist(x)list()函数可将序列对象转换成列表。如:list(helloworld)['h','e','l','l','o','','w','o','r','l','d']list((1,2,3,4))[1,2,3,4]int(x[,base])int()函数把数字和字符串转换成一个整数,base为可选的基数。int(3.3)3int(3L)3int(13)13int(14,15)19min(x[,y,z...])min()函数返回给定参数的最小值,参数可以为序列。min(1,2,3,4)1min((1,2,3),(2,3,4))(1,2,3)max(x[,y,z...])max()函数返回给定参数的最大值,参数可以为序列。max(1,2,3,4)4max((1,2,3),(2,3,4))(2,3,4)oct(x)oct()函数可把给出的整数转换成八进制数。oct(8)'010'oct(123)'0173'ord(x)ord()函数返回一个字符串参数的ASCII码或Unicode值。ord(a)97ord(ua)97str(obj)str()函数把对象转换成可打印字符串。str(4)'4'str(4)'4'str(3+2j)'(3+2j)'tuple(x)tuple()函数把序列对象转换成tuple。tuple(helloworld)('h','e','l','l','o','','w','o','r','l','d')tuple([1,2,3,4])(1,2,3,4)Chapter3.序列处理函数常用函数中的len()、max()和min()同样可用于序列。filter(function,list)调用filter()时,它会把一个函数应用于序列中的每个项,并返回该函数返回真值时的所有项,从而过滤掉返回假值的所有项。defnobad(s):...returns.find(bad)==-1...s=[bad,good,bade,we]filter(nobad,s)['good','we']这个例子通过把nobad()函数应用于s“序列中所有项,过滤掉所有包含bad”的项。map(function,list[,list])map()函数把一个函数应用于序列中所有项,并返回一个列表。importstrings=[python,zope,linux]map(string.capitalize,s)['Python','Zope','Linux']map()还可同时应用于多个列表。如:importoperators=[1,2,3];t=[3,2,1]map(operator.mul,s,t)#s[i]*t[j][3,4,3]如果传递一个None值,而不是一个函数,则map()会把每个序列中的相应元素合并起来,并返回该元组。如:a=[1,2];b=[3,4];c=[5,6]map(None,a,b,c)[(1,3,5),(2,4,6)]reduce(function,seq[,init])reduce()函数获得序列中前两个项,并把它传递给提供的函数,获得结果后再取序列中的下一项,连同结果再传递给函数,以此类推,直到处理完所有项为止。importoperatorreduce(operator.mul,[2,3,4,5])#((2*3)*4)*5120reduce(operator.mul,[2,3,4,5],1)#(((1*2)*3)*4)*5120reduce(operator.mul,[2,3,4,5],2)#(((2*2)*3)*4)*5240zip(seq[,seq,...])zip()函数可把两个或多个序列中的相应项合并在一起,并以元组的格式返回它们,在处理完最短序列中的所有项后就停止。zip([1,2,3],[4,5],[7,8,9])[(1,4,7),(2,5,8)]如果参数是一个序列,则zip()会以一元组的格式返回每个项,如:zip((1,2,3,4,5))[(1,),(2,),(3,),(4,),(5,)]zip([1,2,3,4,5])[(1,),(2,),(3,),(4,),(5,)]Chapter4.String模块replace(string,old,new[,maxsplit])字符串的替换函数,把字符串中的old替换成new。默认是把string中所有的old值替换成new值,如果给出maxsplit值,还可控制替换的个数,如果maxsplit为1,则只替换第一个old值。a=11223344printstring.replace(a,1,one)oneone2223344printstring.replace(a,1,one,1)one12223344capitalize(string)该函数可把字符串的首个字符替换成大字。importstringprintstring.capitalize(python)Pythonsplit(string,sep=None,maxsplit=-1)从string字符串中返回一个列表,以sep的值为分界符。importstringip=192.168.3.3ip_list=string.split(ip,'.')printip_list['192','168','3','3']import__(name[,globals[,locals[,fromlist[,level]]]])被import语句调用的函数。它的存在主要是为了你可以用另外一个有兼容接口的函数来改变import语句的语义.为什么和怎么做的例子,标准库模块ihooks和rexec.也可以查看imp,它定义了有用的操作,你可以创建你自己的__import__()函数.例如,语句importspam结果对应下面的调用:__import__('spam',globals(),locals(),[],-1);语句fromspam.hamimporteggs结果对应调用__import__('spam.ham',globals(),locals(),['eggs'],-1).注意即使locals()和['eggs']作为参数传递,__import__()函数不会设置局部变量eggs;import语句后面的代码完成这项功能的.(实事上,标准的执行根本没有使用局部参数,仅仅使用globals决定import语句声明package的上下文.)当name变量是package.module的形式,正常讲,将返回顶层包(第一个点左边的部分),而不是名为name的模块.然而,当指定一个非空的formlist参数,将返回名为name的模块.这样做是为了兼容为不同种类的import语句产生的字节码;当使用importspam.ham.eggs,顶层包spam必须在导入的空间中,但是当使用fromspam.hamimporteggs,必须使用spam.ham子包来查找eggs变量.作为这种行为的工作区间,使用getattr()提取需要的组件.例如,你可以定义下面:defmy_import(name):m