python
alone52Hz
这个作者很懒,什么都没留下…
展开
-
python数据类型
不可变对象:指的的是这个对象的方法不会改变这个对象的属性,当不可变对象调用方法只会返回一个新对象,这个对象本身没有被改变而且没被替代字符串:不可变整形:不可变浮点型:不可变列表:可变元组:不可变(指向不变)集合:可变(传入列表作为参数)原创 2017-01-11 09:14:43 · 198 阅读 · 0 评论 -
python技巧(6)
历史访问记录的记录 猜数游戏(记录猜过的数字)from random import randintN=randint(0,100)def guess(k): if k==N: print 'right' return True if k>N: print '%s is greater than N'% k else:原创 2017-01-29 21:35:23 · 185 阅读 · 0 评论 -
python技巧(12)
如何拆分有多个分割符号的字符串 查看当前系统进程:!ps aus 1.字符串自带的split方法:一次只能拆分单一分割符,当然多个分割符可以多次split,加上for,map的使用 s=’a:b;c/tcc c|df’ s.split(’ ‘):用一个空格分割,默认空白分割(不管有多少个空格),得到一个列表 2.正则模块 import re re.split(r’[ ;:/t|]+’,原创 2017-01-31 14:18:44 · 176 阅读 · 0 评论 -
python技巧(14)
拼接字符串 字符串不停大量被创建和释放时巨大的浪费 s=[‘abc’,’2’,’3’,’j’] 1.方式1 用+号和for 循环 2.方式2:字符串的join方法 s必须可迭代对象且必须时字符串形式 ‘,’.join(s) ”.join(s)原创 2017-01-31 15:52:36 · 152 阅读 · 0 评论 -
python技巧(15)
格式打印:左对齐,右对齐,居中 1.用str.ljust(width,fillchar) str.rjust(width,fillchar) str.center(width,fillchar) 注意:fillchar必须时单个字符,不能时字符串或者空 如s=’abc’ s.ljust(5,’0’):’abc00’ s.ljust(5,’-‘):’abc–’ s.ljust(5,’0原创 2017-01-31 16:08:39 · 147 阅读 · 0 评论 -
python技巧(16)
去掉字符串不需要的字符 1.首尾删除 str.strip():默认去掉首尾的空白字符 str.strip(‘,+-‘):去掉所有首尾,+- str.lstrip()和str.rstrip() 2.任意位置,切片和有+拼接 3.任意位置,替换replace,缺点只能一次替换一种 str.replace(‘,’,”) 把串中,换成空 4.正则替换可以替换所有的位置和符号 re.sub原创 2017-01-31 16:58:54 · 151 阅读 · 0 评论 -
python技巧(17)
如何读写文本文件 python2和3的区别 2 3 str字符串实际时一连串的bytes unicode只在内存中用是中介,读取时转换为unicode,存储时把unicode转换为指定编码python2:在写入文件前(还在内存中到外部时需存为指定的编码格式)对unicode进行编码,读入文件后(进入内存需要转成unicode)对二进制字符串进行解码 python原创 2017-01-31 20:36:54 · 230 阅读 · 0 评论 -
python技巧(18)
处理二进制文件 为什么存储为二进制文件,如音频,视频,图形?,个人认为是追求实时读速度在linux上可以安装vlc播放wav音频文件(二进制文件) 二进制文件用struct模块的unpack解析 wav音频文件构成看成两部分:文件头(前44个字节)、文件内容打开 f=open(‘C:\Users\yongsheng\Desktop\a.wav’,’rb’) start=f.read(44)原创 2017-01-31 21:32:44 · 215 阅读 · 0 评论 -
python技巧(13)
判断字符串开头和结尾 import os,stat 1.f=os.lisdir(‘.’):读入当前目录下的文件 s=’a.sh’ t=’b.h’ s.endwith((‘.sh’,’.h’))以.sh或者.h结尾 2.修改文件权限 os.stat(‘a.sh’):查看a.sh的权限 os.chmod(‘a.sh’,’权限用|连接’) 3.调整文本格式 log=open(‘fil原创 2017-01-31 15:20:21 · 158 阅读 · 0 评论 -
python技巧(19)
流形式:按字节多少来读写的,read和write方法I/O操作:按块写入读入,有的不足块和足块一次I/O所耗时间是一样的(不是按字节写入的),所以只有减少操作的次数,那么可以用缓冲区。 全缓冲:只有块充满了,才执行 I/O 行缓冲:碰到换行符,执行I/O 无缓冲:直接执行I/O 块大小和平台决定了缓冲区大小 一、全缓冲 1.python默认的全缓冲:块的大小为4096个字节>>>f=o原创 2017-02-03 21:54:12 · 201 阅读 · 0 评论 -
python技巧(2)
元组: student1=(‘Jim’,16,’2265@qq.com’) student2= (‘Jam’,17,’2964@qq.com’) ……. name:student1[0],student2[0]… age:student1[1],student2[1]…. email:student1[2],student2[2]… 问题:能不能像属性一样访问元组 1.可以定义常量原创 2017-01-23 22:02:21 · 140 阅读 · 0 评论 -
python技巧(5)
保持字典有序(进入顺序) 如某竞赛要记录选手的姓名、排名、成绩(得分) d={‘a’:(2,45),’b’:(1,95),…..} d[‘a’]= d[‘b’]= …. for k in d: print k 但是字典不会排序,是乱的 按进入先后来排序 可以使用collections下的OrderedDict from collections import OrderedDi原创 2017-01-29 21:14:23 · 243 阅读 · 0 评论 -
python技巧(11)
在一个for语句中迭代多个可迭代对象 1.并行:tuple=zip(mathlist,englishlist,chaineselist) for x in tuple: print x 2.串行:itertools下的chain s=chain(mathlist1,mathlist2,mathlist3) for x in s: if x>90: print x原创 2017-01-30 22:22:04 · 160 阅读 · 0 评论 -
python 函数及函数的参数
函数定义:def 函数名 (参数) : 四部分构成可以把函数名或者函数值直接赋值给一个变量 如>>>a=abs>>>a(-3) >>>3>>>b=abs(-3)>>>b >>>3函数的参数类型及个数1 必选参数:每次调用函数时要指定的参数值的参数2 默认参数:定义函数的时候就传入的参数值参数(默认带=的就是),在调用时也可以指定新的参数值3 可变参数:4 关键字参数:注:定义函数的原创 2017-01-11 10:15:53 · 459 阅读 · 0 评论 -
python常用模块
1.下载指定url的数据url=http://admin.user.seeyouyima.com/user/user_list? urllib.urlretrieve(url,’目标文件名.csv’)2.读写csv读 rf=open(‘文件名.csv’,’rb’) 打开文件 reader=csv.reader(rf): 可迭代对象 reader.next() 写 wf=open(‘文件名原创 2017-01-18 20:27:17 · 211 阅读 · 0 评论 -
python错误
格式1:try.....except 错误类型1,e: print e or raise.... except 错误类型2,e: print e raise...finally....例如:try: print 'try...' r = 10 / int('a') print 'result:', rexcept Value原创 2017-02-10 16:14:05 · 286 阅读 · 0 评论 -
python技巧(3)
1 统计数字出现次数from random import randint 生成数据:data=[randint(0,10) for x in xrange(30)] 统计数字个数: 方法一:建立初始字典c=dict.fromkeys(data,0) print c {1:0,2:0,3:0,……} for x in data: c[x]+=1 print c 方法二:co原创 2017-01-29 20:17:17 · 333 阅读 · 0 评论 -
python技巧(4)
公共键:多个字典的公共键 1:找到多个字典中公共键 产生多个字典随机产生 from random import randint,sample 球员产生 ex:sample(‘abcdefg’,3)从abcdefg中随机产生3个字母 球员和球员个数随机产生 ex:sample(‘abcdefg’,randint(3,6)) 随机球员和随机分数的字典4个 d1={x:randint(1原创 2017-01-29 20:40:56 · 206 阅读 · 0 评论 -
python技巧(1)
1. from random import randint a=randint(-10,10):-10到10的任意一个整数 2.data=[randint(-10,10) for x in xrange(10) ] 3.过滤函数filter filter(lambda x:x>=0, data) 过滤掉负数 4.匿名函数 lambda 参数名:表达式 5.列表解析 [x for原创 2017-01-23 21:45:18 · 282 阅读 · 0 评论 -
python技巧(7)
用时访问:需要的时候提取 1.可迭代对象/迭代器对象 可迭代对象如字符串,列表,字典 有:iter,getitem接口 迭代器对象:通过iter(‘可迭代对象’)得到迭代器对象 如 t=iter(‘abcd’) t.next() …. 2.天气用时访问import requestscity=u'上海':必须是unicode字符串def getWeather(city):原创 2017-01-30 17:13:00 · 167 阅读 · 0 评论 -
python技巧(9)
1.列表的反向迭代 l=[1,2,3] 反向1 l.reverse(),缺点此时l被改变了反向2:切片 s=l[::-1],缺点得到了一个同样大小的列表站占用空间 反向3: l1=reversed(l) 由于前两种都有不足的地方 我们既要得到一个新的但是不改变原来的列表,又不能占用太多内存,此时可以想到反向迭代器或则反向生成器,当然iter就是正向迭代器2.创建一个正向和反向迭代器对原创 2017-01-30 17:59:15 · 205 阅读 · 0 评论 -
python技巧(10)
1.文件比较小的时候用 f=open(‘a.txt’,’r’) lines=f.readlines() 按行读取成为行列表,可以切片,缺点是一次性读入了内存,太大了,所以需要改进 lines[100:300],切片 f.seek(0):把指针指向头部 2.文件较大时使用f=open('a.txt','r')from itertools import islicelice=isl原创 2017-01-30 19:09:19 · 221 阅读 · 0 评论 -
python技巧(20)
一、文件状态 文件类型 文件权限 文件访问,修改,更新时间 文件的大小 二、获取状态 python下 系统调用os模块;stat,fstat,lstat 这里三个文件 1. s= os.stat(‘a.txt’) 2. os.lstat(‘x.txt’):只返回x.txt的状态,不返回a.txt os.stat(‘x.txt’):最终返回a.txt的状态 3原创 2017-02-03 22:29:50 · 393 阅读 · 0 评论