python 笔记 常用函数

常用函数

5.1. eval

对字符串参数运算,求值

>>> eval("1 + 2*3") #可以方便的用来做四则运算
7
>>> a=1
>>> eval('a+1') #可以访问变量
2

5.2. exec

将字符串参数作为python脚本执行

>>> exec('a="Zsp"')
>>> a
'Zsp'

5.3. execfile

和exec类似,不过是用来打开一个文件,并作为python脚本执行

5.4. dir

显示对象的所有属性(即可以用"."操作直接访问)

>>> dir([])
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__str__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

5.5. help

help(类/函数) 返回相应对象的文档字符串

>>> help(vars)
Help on built-in function vars in module __builtin__:

vars(...)
    vars([object]) -> dictionary
   
    Without arguments, equivalent to locals().
    With an argument, equivalent to object.__dict__.

5.6. len

返回序列/字典的长度

>>> len([1,2,3])
3

5.7. print

输出字符串 用法演示:

print "Today ", #加逗号,输出后不换行

name="ZSP"

print name,"cost $",10 #输出多个变量

print "hello,%s!"%name #%s 表示用str转化为字符串

for x in xrange(1,11):
    print '%2d %3d' % (x,x*x) #小数输出如   %5.3f

对于字典可以用变量名来直接格式化,如:

>>>table={'Sjoerd':4127,'Jack':4098,'Dcab':8637678}
>>>print 'Jack:%(Jack)d; Sjoerd:%(Sjoerd)d; Dcab:%(Dcab)d' %
table
Jack:4098; Sjoerd:4127; Dcab:8637678

同时,函数vars()返回包含所有变量的字典,配合使用,无坚不摧!

5.8. raw_input

x=raw_input("Please enter an sentence:") #将输入的内容赋值给x

5.9. range

range(10,0,-3)#参数的含义为起点(默认为0),终点(不含终点),步长(默认为1)
>>>[10,7,4,1]

和for...in配合使用

a=['cat','door','example']
for i in range(len(a)):#len()函数为求序列的长度
    print i,a[i]

5.10. filter

filter(function , sequence) 返回序列,为原序列中能使function返回true的值

>>>a=[1,2,3,4]
>>>filter(lambda x:x%2,a)
[1, 3]

5.11. 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]

5.12. 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

注:实际使用中用内建函数sum来完成这个累加更合适,如这里等价sum(range(3),99)

5.13. zip

zip用于多个sequence的循环

questions=['name','quest','favorite color']
answers=['lancelot','the holy grail','blue']

for q,a in zip(questions,answers):
    print 'What is your %s ? It is %s.'%(q,a)

输出:

What is your name ? It is lancelot.
What is your quest ? It is the holy grail.
What is your favorite color ? It is blue.

5.14. reversed反向循环

for i in reversed(range(1,4)):
    print i

输出:

3
2
1

5.15. sorted排序

返回一个有序的新序列

>>>sorted([2,5,1,4])
[1, 2, 4, 5]

5.16. enumerate 返回索引位置和对应的值

for i,v in enumerate(['tic','tac','toe'])
    print i,v

输出:

0 tic
1 tac
2 toe

5.17. 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() 关闭文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值