1. abs(x)
abs()函数返回数字(可为普通型、长整型或浮点型)的绝对值。如果给出复数,返回值就是该复数的模。例如:
>>>print abs(-2,4)
2.4
>>>print abs(4+2j)
4.472135955
2. apply(function,args[,keywords])
apply()函数将args参数应用到function上。function参数必须是可调用对象(函数、方法或其他可调用对象)。args参数必须以序列形式给出。列表在应用之前被转换为元组。function对象在被调用时,将args列表的内容分别作为独立的参数看待。例如:
apply(add,(1,3,4))
等价于
add(1,3,4)
在以列表或元组定义了一列参数,且需要将此列表参数分别作为个个独立参数使用的情况下,必须使用apply()函数。在要把变长参数列应用到已函数上时,apply()函数非常有用。
可选项keywords参数应是个字典,字典的关键字是字符串。这些字符串在apply()函数的参数列末尾处给出,它们将被用作关键字参数。
3. buffer(object[,offset[,size]])
如果object对象支持缓存调用接口buffer()函数就为object对象创建一个新缓存。这样的对象包括字符串、数组和缓存。该新缓存通过使用从offset参数值开始知道该对象末尾的存储片段或从offset参数值开始直到size参数给出的尺寸为长度的存储片段来引用object对象。如果没给出任何选项参数,缓存区域就覆盖整个序列,最终得到的缓存对象是object对象数据的只读拷贝。
缓存对象用于给某个对象类型创建一个更友好的接口。比如,字符串对象类型通用缓存对象而变得可用,允许逐个字节地访问字符串中的信息。
4. callable(object)
callable()函数在object对象是可调用对象的情况下,返回真(true);否则假(false),可调用对象包括函数、方法、代码对象、类(在调用时返回新的实例)和已经定义‘调用’方法的类实例
5. chr(i)
chr()函数返回与ASCII码i相匹配的一个单一字符串,如下例所示:
>>>print chr(72)+chr(101)+chr(108)+chr(111)
hello
chr()函数是ord()函数的反函数,其中ord()函数将字符串转换回ASCII整数码,参数i的取值应在0~255范围内。如果参数i的取值在此范围之外,将引发ValueError异常。
6. cmp(x,y)
cmp()函数比较x和y这两个对象,且根据比较结果返回一个整数。如果xy,则返回正数。请注意,此函数特别用来比较数值大小,而不是任何引用关系,因而有下面的结果:
>>>a=99
>>>b=int('99')
>>>cmp(a,b)
0
7. coerce(x,y)
coerce()函数返回一个元组,该元组由两个数值型参数组成。此函数将两个数值型参数转换为同一类型数字,其转换规则与算术转换规则一样。一下是两个例子:
>>>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()函数将string编译为代码对象,编译生成的代码对象接下来被exec语句执行,接着能利用eval()函数对其进行求值。filename参数应是代码从其中读出的文件名。如果内部生成文件名,filename参数值应是相应的标识符。kind参数指定string参数中所含代码的类别,有关kind可能取值的详细信息,请参见表8-1
举例如下:
>>>a=compile(‘print “Hello World”’,’’,’single’)
>>>exec(a)
Hello World
>>>eval(a)
Hello World
表 由compile()函数编译的代码的类别
Kind取值 编译生成的代码
exec 语句序列
eval 简单表达式
Single 简单交互语句
9. complex(real,[image])
Complex()函数返回一个复数,其实部为real参数值。如果给出image参数的值,则虚部就为image;如果默认image参数,则虚部为0j。
10. delattr(object,name)
delattr()函数在object对象许可时,删除object对象的name属性,此函数等价于如下语句:
del object.attr
而delattr()函数允许利用编程方法定义来定义object和name参数,并不是在代码中显示指定。
11. dir([object])
当没有提供参数时,dir()函数列出在当前局部符号表中保存的名字,如下例所示:
>>>import sys
>>>dir(sys)
12. divmod(a,b)
devmod()函数返回一个元组,该元组包含a除以b的商和余数,如下例所示:
>>>divmod(7,4)
(1,3)
对整数而言,返回值与a/b和a%b相同。如果给出的参数值是浮点数,则结果就是(q,a%b),其中:q通常是math.floor(a/b),但是也可能比这小1,不管在什么情况下,q*b+a%b都非常逼近a;如果a%b是个非零值,则其正负号与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()函数将expression字符串作为python标准表达式进行分析并求值,返回expression字符串的值,当不可调用其他可选参数时,expression访问调用该函数的程序段的全局和局部对象。另一个选择是:以字典形式给出全局和局部符号表(参见后面部分对global()和local()函数的论述)。
Eval()函数的返回值是被求职表达式的值,如下例所示:
>>>a=99
>>>eval(‘divmod(a,7)’)
(14,1)
任何求职操作的语法错误,都将引发成异常
eval()函数还能用来编译诸如由complie()函数创建的代码对象,但仅当该代码对象用“eval”模式编译过后才可用eval()函数编译。
要执行混合了语句和表达式的python任意代码,请使用exec语句或使用execfile()函数来动态地执行含有任意代码的文件。
14.execfile(file[,globals[,locals]])
execfile()函数与exec语句等价,不同之处在于:execfile()函数执行文件中的语句,而exec语句处理字符串。其中globals和locals参数应是字典,该字典包含文件在执行期间有效的符号表;如果locals参数省略,则所有的引用都使用globals名称空间。如果两个可选参数都省略,文件就访问运行期间的当前符号表。
15.filter(function,list)
filter()函数根据function参数返回的结果是否为真(true)来过滤list参数中的项,最后返回一个新列表,如下例所示:
a=[1,2,3, 4, 5,6,,7,8,9]
b=filter(lambda x:x>6,a)
print b
[7,8,9]
如果function参数值为None,就是用identity函数,list参数中的所有为假(false)的元素都被删除。
16. flaot(x)
float()函数将x参数转换为浮点数,其中:x可以是字符串,也可以是数字。
17. getattr(object,name[,default])
getattr()函数返回object的name属性值。在语法上,以下语句:
getattr(x,’myvalue’)
等价于
x.myvalue
如果name参数不存在,但给出defalut参数的值,则此函数就返回default参数值;否则引发AttributeError异常
18. globals()
globals()函数返回一个表示当前全局符号表的字典。这个字典通常就是当前模块的字典。如果globals()函数是在一函数或方法中被调用,它就返回定义该函数或方法的模块的符号表,而不是调用此函数的模块的符号表。
19. hasattr(object,name)
如果object对象具有与name字符串相匹配的属性,hasattr()函数返回真(true);否则返回0。
20. hash(object)
hash()函数返回关于object对象的整数散列值。如任何两个对象比较起来是等价的,则它们的散列值是一样的。此函数不应用于可便对向上。
21.hex(x)
hex()函数将一整数转换为十六进制字符串,该字符串是个有效的python表达式、
22. id(object)
id()函数返回值为一个整数(或长整型整数)——该对象的“标识“——该标识在其对应对象的生命期内,确保是唯一的和恒定不变的。
23. input([prompt])
input()函数与eval(raw_input(prompt))等价。
24. int(x,[radix])
int()函数将使数字或字符串x转换为“普通”整数。如果给出radix参数的值,则radix参数值用作转换的基数,该参数应是2~36范围内的一个整数。
25. intern(string)
intern()函数将string加入到保留字符串的表,返回值为保留的版本号。“保留字符串”通过指针可用,而不是一个纯的字符串;因此允许利用指针比较代替字符串比较来进行字典关键字的查找,这比通常的字符串比较方法功能有所改善。
在python名称空间表和用于保留模块、类或实力属性的字典中使用的名字通常被保留用以加速脚本执行。
保留字符串定义后不能被作为无用单元收集,所以必须注意在大字典关键字集上使用保留字符串将大大增加内存需求,即使字典关键字应急超出了作用域。
26. isinstance(object,class)
isinstance()函数在object参数是class参数的一个实例时,返回真。函数值的确定服从普通继承法则和子类。如果object参数是在types模块中利用类型类定义的特殊类型的实例,也能用isinstance()函数来识别。如果class参数不是类,也不是类型对象,就引发TypeError异常
27.issubclass(class1,class2)
如果class1参数是class2参数的子类,issubclass()函数则返回真。类通常被认为是其自身的子类。若两个参数中任一个都不是类对象,则引发TypeError异常
28. len(s)
len()函数返回一序列(字符串、元组或列表)或字典对象的长度
29. list(sequence)
list()函数返回以列表。该列表的项及顺序与sequence参数的项及顺序相同,如下例所示:
>>>list(‘abc’)
[‘a’,’b’,’c’]
>>>list([1,2,3])
[1,2,3]
30. locals()
locals()函数返回表示当前局部符号表的字典
31. long(x)
long()函数将字符串或数字转换为长整型数,对浮点数的转换遵循与int()相同的规则
32. map(function,list,…)
map()函数将function运用到list中的每一项上,并返回新的列表,如下例所示:
>>>a=[1,2,3,4]
>>>map(lambda x:pow(x,2),a)
[1,4,9,16]
若提供附加的列表,则它们就被并行地提供给function。在后续无元素的列表增加None,直到所有参数列表达到相同的长度为止。
如果function参数值为None,则假定为identify函数,将使map()函数返回删除所有为假的参数的list。如果function参数值为None,且给定多个列表参数,返回的列表由一个个元组组成,这些元组由函数中的每一个参数列表内相同对应位置上的参数组成,如下例所示:
>>>map(None,[1,2,3,4],[4,5,6,7])
[(1,4),(2,5),(3,6),(4,7)]
上例的结果与zip()函数产生的结果等价
33. max(s,[,args…])
当仅给定一个参数时,max()函数返回序列s的最大值。当给定一列参数时,max()函数返回给定参数的最大参数
34. min(s[,args…])
当仅给定一个参数时,min()函数返回序列s的最小值。当给定一列参数时,min()函数返回给定参数中的最小值。记住:多参数调用的序列不被遍历,每个列表参数作为一个整体进行比较,如:
min([1,2,3],[4,5,6])
返回
[1,2,3]
而不是通常所想的结果为1,要得到一个或多个列表中元素的最小值,可将所有列表连成一串,如下所示:
min([1,2,3]+[4,5,6])