python入门笔记(一)
程序员文章站
2022-06-17 13:36:01
...
#列表和元组 #列表分片 d[x:y:z] #z为步长 #序列相加 [1,2,3]+[4,5,6] [1,2,3,4,5,6] 'hello '+'world' 'hello world' [1,2,3]+'aa' #报错 #乘法 'python'*5 'pythonpythonpythonpythonpython' [None]*10 #初始化10个长度的序列 #成员资格 a in b #f返回布尔值 #使用字符串 #字符串对象是不可变的 website[-3:]='dom' #报错 #字符串格式化 format='Hello,%s %s enough for ya?' values=('world','hot') print format % values #Hello,world hot enough for ya? """序列只会被解析成一个值,只有字典和元组可以格式化一个以上的值 若文本中存在%,使用%%转义""" format='%.3f' #格式化浮点数,精确3位 format='%10.3f' #格式化浮点数,宽度10,精确3位 format='%.5s' #前五个字符 '%.*s' % (5,'guido van rossum') # *,宽度会在元组中读取,guido #0填充 '%010.2f'%pi '0000003.14' #左对齐 '%-10.2f'%pi '3.14' #在正数前边加空格,用于对齐 print('% 5d'%10)+'\n'+('% 5d'%-10)F 10 -10 #不论正负,都加符号 print('%+5d'%10)+'\n'+('%+5d'%-10)F +10 -10 print '-'*10 #---------- #模板字符串 from string import Template s=Template('$x,glorious $x!') s.substitute(x='slurm') #slurm,glorious slurm! s=Template('It`s ${x}tastic!') #替换单词的一部分 """ 若文本中存在$,使用$$转义 substitute()的参数可以是字典 方法safe_substitute()不会因为错误使用$报错 """ #元组 '%s plus %s equals %s'%(1,1,2) 1 plus 1 equals 2 #字符串方法 #find 'asdfghjkl'.find('asd') #返回0,若未查询到返回-1,否则返回最左端索引 subject.find('aaa',1) #提供起始点 subject.find('aaa',1,10) #提供起始点和结束点,包含第一个不包含第二个 #join seq=[1,2,3,4,5] sep='+' sep.join(seq) #报错,只能连接字符串列表 seq=['1','2','3','4','5'] sep.join(seq) '1+2+3+4+5' dirs='','usr','bin','env' '/'.join(dirs) '/usr/bin/env' print 'C:'+'\\'.join(dirs) C:\usr\bin\env #lower 小写 'ABC'.lower() 'abc' #首字母大写 "that`s all folks".title() "That`S All Folks" import string string.capwords("that`s all folks") "That`s All Folks" #replace 'This is a test'.replace('is','eez') 'This ezz a test' #split '1+2+3+4+5'.split(+) ['1','2','3','4','5'] #strip 去掉两侧空格或字符 'asd '.strip() 'asd' #translate 和replace方法一样,但只是处理单个字符,优势是同时可以进行多个替换,有时会比replace效率高得多 from string import makestrans table=makestrans('cs','kz') len(table) 256 table[97,123] 'abkdefghijklmnopqrztuvwxyz' #c和s被替换成了k和z,该表可用作translate的参数 makesrans('','')[97,123] 'abcdefghijklmnopqrstuvwxyz' 'this is an incredible test'.translate(table) 'thiz iz an inkredible' #translate(table[,s]) 第二个字符用于指定删除字符 'this is an incredible test'.translate(table,' ') 'thizizaninkredible' #字典 #dict()函数 items=[('name','Gumby'),('age',42)] d=dict(items) d ['age':42,'name','Gumby'] d['name'] 'Gumby' #dict()可通过关键字参数创建字典 d=dict(name='Gumby',age=42) #如果dict()不带参数,则创建空字典 #常用方法 len(d) #返回键值对数量 d[k] #返回k键对应的值 d[k]=v #将值关联到键上 del d[k] #删除键k的项 k in d #检查d中是否含有键为k的项 #字典格式化字符串 phonebook {'Beth':'9102','Alice':'2341','Cecil':'3258',} "Cecil`s phone number is %{Cecil}s"%phonebook "Cecil`s phone number is 3258" #字典方法 #clear d.clear() #青空字典,返回值为none x={} y=x x['key']='value' y {'key':'value'} x.clear() #针对对象操作 y {} #copy和deepcopy from copy import deepcopy d={} d['name']=['Alfred','Bertrand'] c=d.copy() dc=deepcopy(d) d[name].append('Clive') c {'name':{'Alfred','Bertrand','Clive'}} dc {'name':{'Alfred','Bertrand'}} #fromkeys 初始化字典 {}.fromkeys(['name','age']) {'age':None,'name':None} dict.fromkeys(['name','age'],'(unknow)') #定义默认值,可以直接在字典类型dict上调用 {'age':'(unknow)','name':'(unknow)'} #get d={} print d['name'] #报错 print d.get('name') None d.get('name','N/A') #定义默认值 'N/A' #has_key() 相当于k in d ,python3不包含此函数 d={} d.has_key('name') False #items和iteritems d={'a':'aa','b':'bb','c':'cc'} d.items() [('a','aa'),('b','bb'),('c','cc')] it=d.iteritems() #返回迭代器 list(it) [('a','aa'),('b','bb'),('c','cc')] #顺序不定
上一篇: ajax 检测用户名是否被占用
下一篇: Ajax上传文件进度条Codular