python提供了一个内联模块buildin,该模块定义了一些软件开发中经常用到的函数,利用这些函数可以实现数据类型的转换、数据的计算、序列的处理等。
buildin模块的内置函数:
1、apply():可以调用可变参数列表的函数,把参数存在一个元组或者序列中,apply元组参数必须和sum()的参数一致
#!/usr/bin/python
# -*- coding:utf8 -*-
def sum(x=1,y=2):
return x+y
print apply(sum,(1,3))
2、filter():可以对某个序列进行过滤,其中过滤的func()参数不能为空.
filter(func or none,sequence) –>list,tuple,or string
#!/usr/bin/python
# -*- coding:utf8 -*-
def func(x):
if x>0:
return x
print filter(func,range(-9,10))
3、reduce() :对序列中的元素连续操作可以通过循环来处理,具有连续处理的功能。
reduce(func,sequence[,initial]) –> value
func是自定义函数,func()中实现对参数sequence的连续操作,sequence为待处理序列,如果参数
initial的值不为空,将首先传入函数func()进行计算,如果为空,则对initial的值进行处理
#!/usr/bin/python
# -*- coding:utf8 -*-
def sum(x,y):
return x + y
print reduce(sum,range(0,10))
print range(0,10)
print reduce(sum,range(0,10),10)
print reduce(sum,range(0,2),10)
4、map():可以对多个序列的每个元素都执行相同的操作,并组成列表返回。
如果提供多个序列,则每个序列中的元素一一对应进行计算;如果每个序列的长度不相同,
则短的序列后补充“none”,再进行计算
map(func,sequence[,sequence,…]) –> list
#!/usr/bin/python
# -*- coding:utf8 -*-
def power(x):
return x**x
print map(power,range(1,5))
def power2(x,y):
return x**y
print map(power2,range(1,5),range(5,1,-1))
print range(1,5)
print range(5,1,-1)
ps:常用内置模块函数:
abs(x) 返回x的绝对值
apply(func[,args[,kwargs]]) 把函数的参数放置在序列中传入函数
bool([x]) 把每一个值或者表达式转换为bool类型,如果表达式x为值,则返回true,否则返回false
cmp(x,y) 比较x,y的大小
delattr(obj,name) 等价于del obj.name
eval(s[,globals[,locals]]) 计算表达式的值
float(x) 把数字或者字符串转换成float类型数据
hash(object) 返回一个对象的hash值
help([object]) 返回内联函数的帮助说明
id(x) 返回一个对象的标示
input([prompt]) 接受控制台的输入,并把输入的值转换成数字
int(x) 把数字或字符串转换为整型
len(obj) 对象包含的元素的个数
range([start,]end[,step]) 生产一个列表并返回
raw_input([prompt]) 接受控制台的输入,返回字符串类型
reduce(func,sequence[,initial]) 对序列的值进行累加计算
round(x,n=0) 四舍五入的函数
set([interable]) 返回一个set集合
sorted(iterable[,cmp[,key[,reverse]]]) 返回一个排序后的列表
sum(iterable[,start=0]) 返回一个序列的和
type(obj) 返回一个对象的类型
xrange(start[,end[,step]]) 功能和range()类似,但是一次返回一个值
zip(seq1[,seq2,…]) 把n个序列作为列表的元素返回