转自: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的大文件) |