内置函数
内置函数不用定义,直接可以使用
abs() #计算绝对值,只能是数字
max() #求序列/可迭代对象的最大值,可以有非数字
min() #求序列/可迭代对象的最小值,可以有非数字
len() #计算序列的长度,返回整数,字典会返回元素数
divmod(x,y) #返回x,y的商和余数组成的元组
pow(x,y[,z]) #求x的y次方,如果有z,则计算x的y次方再对z求余
round(x[,y]) #用来四舍五入,默认返回一位小数浮点数,如果有y,则返回y位浮点数
callable() #判断一个对象是否可调用
type() #返回对象的类型
isinstance(x,y) #判断对象x是否是给定的类型y,类型y可以是一个类型组成的元组,只要对象x的类型在这个元组中就返回True
cmp(x,y) #比较两个对象的大小,x=y返回0,x>y返回1,x<y返回-1,字符串按字母大小比较
range(x) #返回一个从0到x-1的数字列表
xrange(x) #同range,不过返回的是一个对象
字符转换函数
int() #把一个对象转换为整数型
long() #把一个对象转换为长整型
float() #把一个对象转换为浮点数
complex() #把一个对象转换为一个复数
str() #把一个对象转换为一个字符串
list() #把一个对象转换为一个列表
tuple() #把一个对象转换为一个元组
hex() #把一个数字转换为十六进制
oct() #把一个数字转换为八进制
chr() #把一个数字转换为ASCII字符,数字在0-255
ord() #把一个ASCII字符转换为数字,跟chr正好相反
eval() #把字符串当做一个有效的表达式来求值
#eval('1+2') 返回3
#eval('0xa') 返回10
#eval("[1,2,3]") 返回[1,2,3]
字符串处理函数
str.capitalize() #str首字母大写
str.replace(x,y[,z]) #把str中的x替换为y,默认全部替换,如果有z,则替换z次
str.split() #把str进行切分,默认使用空格切分,可以指定分隔符
str.join(iterable) #使用str把可迭代对象里的元素连接
#'.'.join([str(i) for i in range(10)]) 返回'0.1.2.3.4.5.6.7.8.9'
string模块
import string
string.lowercase #返回所有的小写字母
string.uppercase #返回所有的大写字母
string.capitalize(str) #把str的首字母大写
string.replace(str,x,y) #把str中的x替换为y
序列处理函数
filer(函数或none,序列) #用来过滤,把序列的每一个元素,作为函数的参数。如果为None,则什么也不做,直接输出(序列),如果有函数,那么只有函数的返回值为True才打印序列中的元素
#例子:
def fun(n):
if n % 2 == 0:
return True
filter(fun, xrange(10))
#返回
[0,2,4,6,8]
##精简版
filter(lambda x: x%2 == 0, range(10))
zip(seq1,seq2,...) #用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
map(function,iterable,...) #根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
#例子:
def fun(X):
return x ** 2
l1 = [1, 2, 3, 4, 5]
map(fun, l1)
#返回
[1, 4, 9, 16, 25]
#精简版
map(lambda x, y: x*y, range(1,5), range(1,5))
#返回
[1,4,9,16]
reduce(function, iterable) #函数会对参数序列中的元素进行累积
列表表达式
[i for i in range(10)] == range(10)
[i*2+10 for i in range(10)]
[i*2+10 for i in range(10) if i % 3 == 0]