python中有很多内置函数下面分类介绍
1.数值函数
abs() 绝对值
max() 获取一组数据的最大值
min() 获取一组数据的最小值
len() 获取一个序列,或字符串的长度
divmod(x,y) 获取商和余数
pow(x,y[,z]) 取得x**y,z是可选参数,如果有z参数(x**y)%z
round(number[,ndigits]) 四舍五入函数,ndigits为可选参数,保留位数
举例:
>>> abs(-5)
5
>>> max(1,3,6,2)
6
>>> min(22,11,10,399,5)
5
>>> len('abcd')
4
>>> len(['abc','bcd','def'])
3
>>> divmod(100,20)
(5, 0)
>>> divmod(100,30)
(3, 10)
>>> pow(2,3)
8
>>> pow(2,3,3)
2
>>> round(10)
10.0
>>> round(10.5678,3)
10.568
>>> max([1,8,3])
8
callable() 函数是检查一个对象是否可调用(无论是直接调用,或通过apply调用)。对于函数,方法,lambda函数,类以及实现了__call__方法的类实例,它的返回值为true
举例:
>>> a=100
>>> callable(a)
False
>>> def abc():
... print "Hello,World"
...
>>> callable(abc)
True
>>> callable(abs)
True
>>> class testClass():
... ab=123
... def aba(self):
... self.name=name
...
>>> callable(testClass)
True
isinstance(object,class-or-type-or-tuple)->bool查看一个对象是否为一个已知类型,其中第一个参数为对象,第二个为类型名或类型列表,其返回值为布尔型
例子:
>>> a="abc"
>>> isinstance(a,str)
True
>>> isinstance(a,int)
False
>>> ab=['z','a','c']
>>> isinstance(ab,list)
True
cmp() 比较两个对象,如果前者大于后者返回1,如果前者等于后者返回0,如果前者小于后者返回-1
例子:
>>> cmp(5,6)
-1
>>> cmp(5,5)
0
>>> cmp(6,5)
1
range与xrange
函数说明:range([start,]stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。
例子:
1
>>> range(1,9)
[1, 2, 3, 4, 5, 6, 7, 8]
>>> range(1,9,2)
[1, 3, 5, 7]
>>> range(9)
[0, 1, 2, 3, 4, 5, 6, 7, 8]
xrange用法与range完全相同,所不同的是生成的不是一个数组,而是一个生成器。
>>> xrange(9)
xrange(9)
>>> list(xrange(9))
[0, 1, 2, 3, 4, 5, 6, 7, 8]
>>> list(xrange(1,9,2))
[1, 3, 5, 7]
由上面的示例可以知道:要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间
类型转化函数
type()
int()
long()
complex()
str()
list()
tuple()
hex()
oct()
chr()
ord()
字符串函数
str.capitalize() 首字母大写函数
str.replace(old,new[,count])替换字符串,count为替换次数
str.split(sep,[,maxsplit])列表分割函数,以sep为分隔符,把字符串分成一个list,maxsplit表示分割次数,默认分隔符为空白字符
例子:
>>> s="hello,world!"
>>> s.capitalize()
'Hello,world!'
>>> s.replace('world','World')
'hello,World!'
>>> nn="hellb,wbrld!"
>>> nn.replace('b','o')
'hello,world!'
>>> nn.replace('b','o',1)
'hello,wbrld!'
>>> ip="192.168.1.1"
>>> ip.split('.')
['192', '168', '1', '1']
>>> ip.split('.',2)
['192', '168', '1.1']
序列处理函数
python有几个内置的函数很有意思:map/filter/reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并. 是python列表方法的三架马车。
filter 函数的功能相当于过滤器。调用一个布尔函数bool_func来迭代遍历每个seq中的元素;返回一个使bool_seq返回值为true的元素的序列。
例子
>>> def fun(x):
... if x > 5:
... return True
...
>>> fun(10)
True
>>> l=range(10)
>>> filter(fun,l)
[6, 7, 8, 9]
并行遍历:zip和map
内置的zip函数可以让我们使用for循环来并行使用多个序列。在基本运算中,zip会取得一个或多个序列为参数,然后返回元组的列表,将这些序列中的并排的元素配成对。
示例一:
L1 = [1,2,3,4]
L2 = [5,6,7,8]
要合并这些列表中的元素,可以使用zip来创建一个元组对的列表。与range一样,zip是一个可迭代对象,因此,必须将其包含在一个list调用中一边一次性显示所有结果。
zip(L1,L2)
list(zip(L1,L2))!注释掉这一行,运行结果依然如次
for (x,y) in zip(L1,L2):
print(x,'+',y,'=',x + y)
reduce()
reduce为逐次操作list里的每项,接受的参数为2个,最后返回的为一个结果
reduce内建函数是一个二元操作函数,他用来将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 func()(必须是一个二元操作函数)先对集合中的第1,2个数据进行操作,得到的结果再与第三个数据用func()函数运算,最后得到一个结果。