2.0/2.1/2.2/2.3/2.4 内建函数
内建函数也叫内置函数 Python自带的函数可以处理单个小问题 在python shell中我们可以同help()来查看内置函数的用法
官网内置函数地址 https://docs.python.org/2.7/library/functions.html
| 常用内置函数 | 作用 | 
|---|---|
| abs(number) | 求数字的绝对值 | 
| max(iterable) | 求最大值 | 
| min(iterable) | 求最小值 | 
| len(object) | 求序列或者字典的长度 返回整型 | 
| divmod(x, y) | 求两个数的商 余数 返回元祖 | 
| pow(x, y[, z]) | 两个数时求 x的y平方 三个数时求 x^y %z 返回整型 | 
| round(number[, ndigits]) | 四舍五入 ndigits是保留小数点后几位 默认是0 返回浮点型 | 
| callable(object) | 判断对象(函数,类)是否可调用 返回布尔值 | 
| type(object) | 查看对象的类型 | 
| isinstance(object, class-or-type-or-tuple) | 判断对象和后面参数是否是同一类型 返回布尔值 | 
| cmp(x, y) | 比较两个对象的大小 返回整型 0表示相等 1表示左边大 -1表示右边大 | 
| range([i], j,[k]) | 创建一个整数的列表 i开始值 j结束值后一位 k跨度(负数表向左) | 
| xrange([i], j,[k]) | 创建一个整数的列表 和range用法一样 但它返回xrange对象 遍历时才释放列表 | 
abs()
| 1 | In [10]: abs(-10) ##求-10的绝对值 | 
max()
| 1 | In [13]: max('a12135') ##'a'是序列中的最大值 | 
min()
| 1 | In [14]: min('a12135') ##'1'是序列中的最小值 | 
len()
| 1 | In [19]: len({'a':1,'b':2}) ##求字典的长度 | 
divmod(x ,y)
| 1 | In [22]: divmod(5,2) ##5/2 商是2 余1 | 
pow(x, y[, z])
| 1 | In [24]: pow(2,3) ##2的3次方 | 
round()
| 1 | In [27]: round(11.1212 ,2) ##小数点后保留两位 | 
callable()
| 1 | In [3]: a='asdf' | 
type()
| 1 | In [10]: type('asd') | 
isinstance()
| 1 | In [17]: isinstance('asdf',str) | 
cmp()
| 1 | In [30]: cmp(1, 10) | 
range()
| 1 | In [35]: range(11) ##0-10的序列 | 
xrange()
通常使用xrange更多,节省内存1
2
3
4
5In [19]: xrange(10)
Out[19]: xrange(10)
In [21]: for i in xrange(10):print i,
0 1 2 3 4 5 6 7 8 9
| 类型转换内置函数 | 作用 | 
|---|---|
| int() | 转换为整型 | 
| long() | 转换为长整型 | 
| float() | 转换为浮点型 | 
| complex() | 转换为复数型 | 
| str() | 转换为字符串 | 
| list() | 转换为列表 | 
| tuple() | 转换为元祖 | 
| hex() | 数字转换为十六进制 返回字符串 | 
| oct() | 数字转换为八进制 返回字符串 | 
| eval() | 执行一个字符串表达式,并返回表达式的值。 | 
| chr() | 输入0-255 并返回对应的ascii码 | 
| ord() | 和chr()相反 输入单个字符返回对应的数值 | 
int()
| 1 | In [53]: int('1212') | 
long()
| 1 | In [56]: long('1212') | 
float()
| 1 | In [58]: float('1212') | 
complex()
| 1 | In [61]: complex('1212') | 
str()
| 1 | In [64]: str({'a':1,'b':1}) | 
list()
| 1 | In [67]: list('abc') | 
tuple()
| 1 | In [71]: tuple('abc') | 
hex()
| 1 | In [80]: hex(22) | 
oct()
| 1 | In [83]: oct(22L) | 
eval()
| 1 | In [92]: eval(hex(10)) ##把字符串'0xa'转化为值10 | 
chr()
| 1 | In [105]: chr(65) | 
ord()
| 1 | In [108]: ord('a') | 
| 字符串的方法 | 作用 | 
|---|---|
| S.capitalize() | 首字母大写 | 
| S.replace(old, new[, count]) | 新的字符串替换旧的 count指替换的次数 | 
| S.split([sep [,maxsplit]]) | 切割字符串 返回列表 默认空格是切割符 sep指定切割符 maxsplit切割次数 | 
| S.join(iterable) | 用S连接可迭代对象 返回字符串 一般把元祖和列表合为字符串 | 
| S.isupper() | 判断是否全大写 返回布尔值 | 
| S.islower() | 判断是否全大写 返回布尔值 | 
| S.isalnum() | 判断字符串是否由字母和数字组成 返回布尔值 | 
| S.isalpha() | 判断字符串是否由字母组成 返回布尔值 | 
| S.isdigit() | 判断字符串是否由数字组成 返回布尔值 | 
| S.isspace() | 判断字符串是否由纯空格组成 返回布尔值 | 
| S.title() | 判断字符串只有首字母大写 返回布尔值 | 
| S.center(width[, fillchar]) | 居中 width表示总长度 fillchar表示填充物 | 
| S.count(sub[, start[, end]]) | 统计指定字符串次数 sub指定字符串 start end搜索范围 指定下标 | 
| S.strip([chars]) | 去除两边空格 | 
| S.lstrip([chars]) | 去除左边空格 | 
| S.rstrip([chars]) | 去除右边空格 | 
| S.startswith(prefix[, start[, end]]) | 判断字符串是否以指定的字符串开头 返回布尔值 | 
| S.endswith(suffix[, start[, end]]) | 判断字符串是否以指定的字符串结尾 返回布尔值 | 
S.capitalize()
| 1 | In [126]: s = 'hello' | 
S.replace()
| 1 | In [130]: s.replace('l','L') ##L替换l | 
S.split()
| 1 | In [134]: s = 'aasdf aa b' | 
S.join()
| 1 | In [141]: s = 'abc' | 
string模块 也有类似的功能1
2
3
4
5
6
7
8
9
10In [164]: import string  ##导入模块
In [165]: string.lowercase  ##创建私有小写字母
Out[165]: 'abcdefghijklmnopqrstuvwxyz'
In [166]: string.uppercase  ##创建私有大写字母
Out[166]: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
In [168]: string.replace('asdfffd','d','D')  ##替换
Out[168]: 'asDfffD'
S.isupper()
| 1 | In [19]: s= 'ABC' | 
S.islower()
| 1 | In [24]: s.islower() ##判断是否全小写 | 
S.isalnum()
| 1 | In [26]: s = 'asdf1213' | 
S.isalpha()
| 1 | In [31]: s = 'asdf' | 
S.isdigit()
| 1 | In [31]: s = 'asdf' | 
S.isspace()
| 1 | In [38]: s = ' ' | 
S.title()
| 1 | In [41]: s = 'ABC' | 
S.strip() / S.lstrip() / S.rstrip()
| 1 | In [76]: s = ' ABC ' | 
S.startswith() / S.endswith()
| 1 | In [89]: s = 'asdfsdfsd' | 
S.center()
| 1 | In [62]: s.center(9, '*') ##居中 字符串总长度是9 用*填充 | 
S.count()
| 1 | In [64]: s = 'abcea' | 
| 序列处理函数 | 作用 | 
|---|---|
| len() | 求长度 | 
| max() | 求最大值 | 
| min() | 求最小值 | 
| zip(seq1 [, seq2 […]]) | 合并序列 序列中的元素一一对应 | 
| filter(function or None, sequence) | 通过函数过滤序列 None不过滤 | 
| map(function, sequence[, sequence, …]) | 各序列传参到函数中处理 参数和序列数量要一致 | 
| reduce(function, sequence[, initial]) | 遍历把序列sequence的元素并通过函数function(只能带两个参数)进行处理 | 
zip()
| 1 | In [174]: l1 = [1,2,3] | 
filter()
| 1 | In [170]: def f(x): ##判断偶数的函数 | 
map()
| 1 | In [186]: def f(x,y): 函数中有两个参数 | 
reduce()
| 1 | In [194]: def f(x,y): | 
总结
filter map reduce都可以通过匿名函数来处理序列filter 单参数的函数 单序列 返回序列map 多参数的函数 多序列  返回列表reduce两个参数的函数 单序列 返回值
列表表达式
列表表达式也叫列表重写,返回列表
语法格式
| 1 | [变量 for 变量 in 表达式 代码块] | 
| 1 | In [201]: [i for i in range(1,11) if i % 2 == 0 ] | 
