Python基本函数(二)
时间:2010-10-18 来源:icybay
>>> eval("1 + 2*3") #可以方便的用来做四则运算 |
2.exec,将字符串参数作为python脚本执行
>>> exec('a="Zsp"') |
3.execfile,和exec类似,不过是用来打开一个文件,并作为python脚本执行
4.dir,显示对象的所有属性; help(类/函数), 返回相应对象的文档字符串; len,返回序列/字典的长度
5.raw_input
x=raw_input("Please enter an sentence:") #将输入的内容赋值给x |
6.range
range(10,0,-3)#参数的含义为起点(默认为0),终点(不含终点),步长(默认为1) |
7.filter(function , sequence),返回序列为原序列中能使function返回true的值
>>>a=[1,2,3,4] |
8.map
map(function,sequence,[sequence...]) ,返回序列为对原序列每个元素分别调用function获得的值. 可以传入多个序列,但function也要有相应多的参数,如
map(lambda x,y,z:x+y+z,range(1,3),range(3,5),range(5,7))
计算过程为 1+3+5=9 2+4+6=12 返回[9,12]
9.reduce
reduce(function,sequence,[init]) ,返回一个单值为,计算步骤为 :
- 第1个结果=function(sequence[0],sequence[1])
- 第2个结果=function(第1个结果,sequence[2])
- 返回最后一个计算得值
-
如果有init,则先调用function(init,sequence[0])
- sequence只有一个元素时,返回该元素,为空时抛出异常.
如 reduce(lambda x,y:x+y,range(3),99) 的计算为
99+0=99 => 99+1=100 => 100+2=102 ,返回102
10.zip, 用于多个sequence的循环
questions=['name','quest','favorite color'] |
11.reversed,反向循环;sorted,排序;enumerate返回索引位置和对应的值
for i,v in enumerate(['tic','tac','toe']) |
12.open文件操作
f=open('/tmp/hello','w') #open(路径+文件名,读写模式)
#读写模式:r只读,r+读写,w新建(会覆盖原有文件),a追加,b二进制文件.常用模式
如:'rb','wb','r+b'等等
f.read([size]) size未指定则返回整个文件,如果文件大小>2倍内存则有问题.f.read()读到文件尾时返回""(空字串)
file.readline() 返回一行
file.readline([size]) 返回包含size行的列表,size 未指定则返回全部行
for line in f: print line #通过迭代器访问
f.write("hello\n") #如果要写入字符串以外的数据,先将他转换为字符串.
f.tell() 返回一个整数,表示当前文件指针的位置(就是到文件头的比特数).
f.seek(偏移量,[起始位置]) 用来移动文件指针 ,偏移量:单位:比特,可正可负
起始位置:0-文件头,默认值;1-当前位置;2-文件尾
f.close() 关闭文件