转自:http://platinhom.github.io/2015/10/19/pyBuildInMethod/
官方文档:http://python.usyiyi.cn/python_278/library/functions.html
包括内建函数, 内建对象(字符串,列表,字典,set,文件对象)的方法,内建的东东放在buildin模块当中。
1、内建函数,作为一种预设运算,用于返回值,特殊表达式
函数 |
说明 |
float(object) |
转换为浮点数 |
int(object,base=10) |
转换为整数,带小数时向下取整运算. 字符串时指定base可指定传入字符的进制,默认10. |
long(object) |
转换为长整形数 |
str(object) |
转换为字符串(1000L->1000) |
repr(object) |
返回值为适合机读的字符串形式(1000L->1000L) |
ord(‘char’) |
将某单字符转成字母顺序值(单字符包括\n等) |
chr(num) |
将字母顺序值转为某单字符(0~255) |
unichr(num) |
将字母顺序值转为某unicode单字符(0~65535) |
unicode(var,codec) |
将变量按codec转为unicode型(前面加了个u)=str.decode(codec) |
abs(number) |
返回绝对值 |
cmath.sqrt(number) |
可带虚数均方根 |
math.ceil(number) |
返回数的上入整数,返回值为浮点数 |
math.floor(number) |
返回数的下舍整数,返回值为浮点数 |
math.sqrt(number) |
计算平方根,需为实数,返回浮点数 |
pow(x, y[, z]) |
返回x的y次幂,(所得结果对z取模),类型数相关 |
round(number[, ndigits]) |
根据给定精度进行四舍五入,返回float |
complex(real, img) |
创建出复数,返回复数。 |
input(prompt) |
获取用户输入,须合法的python表达式:”字符” |
raw_input(prompt) |
获取用户输入,返回字符串 |
help([object]) |
交互式帮助 |
id(obj) |
返回对象的id |
cmp(x, y) |
比较xy的值大小,相同0前大1后大-1。 |
len(seq) |
返回序列的长度(元素个数),或者字典的项数int。 |
list(seq) |
序列(字符串)转换为列表。 |
tuple(seq) |
把序列转为元组(包括列表、元组、字符串均可) |
bool(‘any’) |
将任意转成布尔型,除了False的特殊值,其余均真。一般不需显式说明 |
max(args) |
返回序列或参数集合中最大值,多于一个序列时,比较第一个,迭代。 |
min(args) |
返回序列或参数集合中最小值,多于一个序列时,比较第一个,迭代。 |
sum(sqe[,start]) |
求序列之和。start参数为起始值,用于复合使用。 |
reversed(seq) |
序列反向迭代 |
sorted(seq) |
返回A已排序的列表,不改变A的顺序。 |
string.Template(’a’) |
模板字符串,结合$x和A.substitute(x=’a’)使用 |
string.capwords(‘str’) |
词首字母大写,较好,返回字符串 |
string.maketrans(‘ab’,’cd’) |
将256位字符表中a和b相应换成c和d,返回字符串.用于translate方法。 |
range([x,]y[,z]) |
产生整形列表,x起y终z步长,默认x=0,z=1.常用在for语句中.切记y终点在列表外 |
xrange([x,]y[,z]) |
类似于range但是更简洁,用于迭代用 |
zip(seqA,SeqB….) |
多个序列(包括元组字符串)的项组成一个元组并返回列表,最短序列决定列表长(舍去). |
filter(func,list) |
对list元素都执行func,如返回True则保留,否则被过滤掉. |
map(func,list) |
对list元素都执行func,并返回对应的list |
reduce(func,seq[,init]) |
init默认第一项,把该项和后一项传递给func,返回的结果再和下一项扔给func,直到结束 |
enumerate(iter) |
对可迭代对象所有项迭代索引,项目对。如用于编号迭代。返回迭代对象 |
eval(exp[,global[,local]]) |
会计算表达式exp的值,并返回结果.eval(raw_input(…))等于input(..).可用两个命名空间。 |
set(seq) |
返回([…])的集合,无重复元素的.seq可为字符串,元组,列表. |
type(var) |
返回变量类型,type(‘a’)==str 返回True |
vars() |
返回当前局部变量 |
callable(obj) |
检查对象是否可调用,可调用返回True |
help(module[.func]) |
查看模组帮助, |
lambda x: 含x表达 |
就是对x进行表达式中的运作,返回函数对象lambda.用法a=lambda x:x*2+3 执行a(5). |
dir([obj]) |
列出obj的所含标识符(函数,类,变量,模块),不加参数针对当前模块 |
isinstance(var, type) |
可以比较两个参数项类型是否相同.如isinstance(“abcd”,str).type部分还可以用元组的形式指定多种类型.isinstance和type比较差异参看ref,主要是isinstance可以对继承的类也进行相等判断,type不行. |
2、复数
属性/方法 |
说明 |
C.real |
实数部分 |
C.imag |
虚数部分 |
3、列表方法
属性/方法 |
说明 |
A.append(对象) |
列表末追加新对象(一次一个,对象可为列表) |
A.count(obj) |
统计列表某元素出现次数 |
A.extend(B) |
在列表A后追加另一序列B的值,B可以是任意iterable对象 |
A.index(obj[,start,stop] |
索引,返回第一个匹配obj的元素在列表中索引号n(第n+1个).start和stop可以限制搜索区间.找不到会报ValueError. |
A.insert(index,obj) |
插入,在索引号处插入对象。 |
A.pop(index) |
移除索引号的元素,返回该元素的值。()时移除最后一个,出栈.唯一修改列表还能返回值。 |
A.sort() |
排序,默认按升序。可添加参数cmp、key、reverse。cmp可以自定义的函数,返回负数时, 按此时顺序排序,详见脚本例子 |
A.remove(obj) |
移除列表内某个指定元素,不返回任何值。找不到会报ValueError. |
A.reverse() |
反向列表A,不返回值。 |
4、元组方法
属性/方法 |
说明 |
T.count(obj) |
统计元组某元素出现次数 |
T.index(obj[,start,stop]) |
索引,返回第一个匹配obj的元素在元组中索引号n(第n+1个).start和stop可以限制搜索区间.找不到会报ValueError. |
5、字典方法
属性/方法 |
说明 |
dict.clear() |
清空字典所有的项,无返回值None。 |
ict.copy() |
浅复制副本,用于赋值,深复制用copy.deepcopy |
dict.fromkeys(seq[,val] |
从seq内读入键,建立并返回一个新的字典,值通为val或者None(默认) |
dict.get(key[,noneval]) |
读取并返回字典某key的值,若不存在该键返回None或指定值,好处在于不存在不报错。 |
dict.setdefault(key[,val]) |
和get类似,读取并返回键值。差别在于,若不存在,则新建该键及键值。 |
dict.update(dictB) |
用dictB的项更新dict,相当于复制。若有相同键则覆盖。 |
dict.has_key(‘key’) |
检查是否字典中含有该键值,和in用法一样,返回真假。 |
dict.items() |
将字典所有项以列表方式返回,每个项以元组方式,但返回时没有特殊顺序 |
dict.iteritems() |
和items功能一样,但是返回迭代器对象,可用list()将函数读出 |
dict.keys() |
返回字典中的键的列表 |
dict.iterkeys() |
返回字典中的键的列表的迭代器对象 |
dict.values() |
返回字典中值的列表 |
dict.itervalues() |
返回字典中值的列表的迭代器对象 |
dict.pop(key) |
读出某键的值,并从字典中删除该项,栈操作。 |
dict.popitem() |
随机读出字典中一个项以元组返回,并从字典中删除。 |
6、集合方法
属性/方法 |
说明 |
set.add(element) |
集合添加一个元素 |
set.update(seq) |
集合添加多项 |
set.remove(element) |
移除集合一个元素 |
t |
s |
t&s |
交集 |
t-s |
差集 |
t^s |
交集的补集(只出现t或s中,不能都有) |
7、字符串方法(大部分并不能改变字符串的值,只起到返回作用)
属性/方法 |
说明 |
str.decode(codec) |
根据codec将字符串解码成unicode,等于unicode函数 |
str.encode(codec) |
根据codec将unicode字符串编码为codec的内容 |
tr.find(a,x,y) |
str中查找字符串a,xy为查找始末(不含y)不输入xy默认头到尾.返回索引号,没有返回-1 |
str.rfind(a,x,y) |
str中查找最后一个字符串a,xy为始末,返回最后一个的索引号,没有返回-1 |
str.index(a,x,y) |
和find功能基本一致,区别在查找不到返回错误 |
str.rindex(a,x,y) |
和rfind功能基本一致,区别在查找不到返回错误 |
str.count(a,x,y) |
str中查找a,xy始末,返回a出现次数 |
str.startwith(a,x,y) |
str中检查xy范围内是否以字符串a起始,返回TrueFalse |
str.endwith(a,x,y) |
str中检查xy范围内是否以字符串a终结,返回TrueFalse |
str.join(Seq) |
序列Seq各字符元素用str连接起来.要在始末加连接符要加空元素’’.返回连接的字符串 |
str.lower() |
str小写化,返回小写字符串 |
str.islower() |
检查str是否小写,返回真假 |
str.capitalize() |
str句首首字母大写,返回字符串 |
str.swapcase() |
str字母交换大小写,返回字符串 |
str.title() |
str词首大写,包括’s,the等。返回字符串 |
str.istitle() |
检查str是否词首大写,返回真假 |
str.upper() |
str大写化,返回大写字符串 |
str.isupper() |
检查str是否大写,返回真假 |
str.replace(a,b,[x]) |
替换,将a变成b。x为参数限定最大替换数,不输为全替换。返回字符 |
str.expandtabs([x]) |
将Tab产生的长度替换为x个空格,不指明x为默认tab长度。返回字符串 |
str.split([spe[,x]]) |
将分隔符spe(不输入默认空格换行制表符等)从字符串中去除,x为最大去除数。返回列表 |
str.splitlines([keepends] |
将多行分裂开成列表,可选保留换行符不。 |
str.strip(‘a’) |
将str两端的符合条件’a’的都删除,返回字符串.不输默认空格tab换行,或者某些单字符 |
str.lstrip(‘a’) |
同strip,不过只删左边end部分 |
str.rstrip(‘a’) |
同strip,不过只删右边开头部分 |
str.translate(table[,’char’] |
按字母表(用maketrans函数产生)单字符地替换str,删掉’char’,返回字符串 |
str.zfill(x) |
填充字符串使其变成长度x的字符串,不足从左填入0 |
str.center(x[,’a’]) |
变成长度x字符串,str归中处理(若基数右侧多1).指明a的话即用a填充,否则空格 |
str.ljust(x[,’a’] |
变成长度x字符串,str左对齐处理.指明a的话即用a填充,否则空格 |
str.rjust(x[,’a’]) |
变成长度x字符串,str右对齐处理.指明a的话即用a填充,否则空格 |
str.isalnum() |
检查str是否数字或字母,返回是否。 |
str.isalpha() |
检查str是否字母,返回是否。 |
str.isdigit() |
检查str是否数字,返回是否。 |
str.isspace() |
检查str是否空格,返回是否。 |
str.partition(‘sep’) |
从左搜索str的分隔符sep,并返回(head,sep,tail)即分隔开后的元组 |
str.rpartition(‘sep’) |
从右搜索str的分隔符sep,并返回(head,sep,tail)即分隔开后的元组 |
8、文件方法和属性 help(file)
属性/方法 |
说明 |
open(‘filepath’,’mode’[,bufsize]) |
同file,但可以打开文件对象。’r’‘w’‘a’‘b’’+’分别为读,写,追加,二进制方法,和读/写,后两种可以和前面合用。 |
file(‘filepath’,’mode’[,bufsize]) |
建立文件对象,bufsize为缓存区大小,一般不设.mode默认’r’读。’U’模式支持各种换行符. |
.read([size]) |
读取文件,记得有定位的,读完就改变定位.size指明为读取字节数,不指明全部读取.返回字符串 |
f.readline([size]) |
读取一行,读完改变定位,size指明为读取字节数(非行数),不指名读取一行(常用)。返回字符串.读行是从当前位至为止。 |
f.readlines([size]) |
不设置size读取所有行,以每行为序列的一个元素返回全文的序列。 |
f.write(str) |
把字符串(必须是字符串)写入到文件中.注意,和定位符有关.不会帮你换行,手动加入制表符.若对已存在文件操作则覆盖 |
f.writelines(seq) |
把序列的各个str串连起来全部写入到文件中。 |
f.close() |
关闭文件,否则驻留内存。常用try..finally的后者来保证关闭。 |
f.name |
返回file的filepath+name |
f.closed |
返回file是否关闭真假 |
f.mode |
返回file读取模式 |
f.encoding |
? |
f.newlines |
? |
f.softspace |
? |
f.tell() |
返回文件操作标记符所在处,换行符\n占两位其余一位,从0开始。但用read来读代表1byte。 |
f.next() |
和readline()类似,从当前处读到行末并返回,跳至下一行开头。注意,实际文件操作符其实已到文件末,tell()显示文件末尾,没法用read()类再读取。 |
f.seek(offset[,whence]) |
文件操作符移动到offset步数的位置,正值正移负值负移,移动的起点whence为0时为文件头1为当前操作符位置2为文件末。不输入默认为从文件头开始。注意a模式下每次都会自动返回到文件末。 |
f.truncate([size]) |
裁剪,不可用于只读。输入大小,就是文件保留的大小。不标大小表示裁到文件操作符,若大于文件大小则补空格(win) |
f.isatty() |
返回文件是否是一个终端设备文件(unix) |
f.fileno() |
返回长整形的‘文件标签’ |
f.flush() |
把缓冲区内容写入硬盘 |
for line in files |
用迭代器逐行读取,注意此时不能再用readline()之类读取,不怎么占内存的方式(此方式用于读取几G的大文件) |