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]),根据startstop指定的范围以及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]

并行遍历:zipmap

内置的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()函数运算,最后得到一个结果。