python 进阶学习之9
2014-07-21 20:01
302 查看
序列
有序排列,包括下面这些:字符串(普通字符串和unicode 字符串),列表,和元组类型。成员关系操作符 (in, not in)
>>> seq=[1,5,7,9,77]
>>> seq[3]
9
>>> seq[3:4]
[9]
>>> seq[3:5]
[9, 77]
>>> seq*2
[1, 5, 7, 9, 77, 1, 5, 7, 9, 77]
>>> seq2=[12,33]
>>> seq+seq2
[1, 5, 7, 9, 77, 12, 33]
>>> obj=3
>>> obj in seq
False
>>> obj not in seq
True
extend()把两个或者多个列表对象合并
切片操作符 ( [], [:], [::] )
>>> s[::-1] # 可以视作"翻转"操作>>> s[::2] # 隔一个取一个的操作
开始和结束素引值可以超过字符串的长度
>>> s='abcde'
>>> i=-1
>>> for i in range(-1,-len(s),-1):
... print s[:i]
...
abcd
abc
ab
a
用None 作为索引值
>>> for i in [None]+range(-1,-len(s),-1):
... print s[:i]
...
abcde
abcd
abc
ab
a
内建函数(BIFs)
内建函数list(),str()和tuple()被用做在各种序列类型之间转换。
basestring() 抽象工厂函数,其作用仅仅是为str 和unicode 函数提供父类,所以不能被实例化,也不能被调用
>>> import string
>>> string.ascii_uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'
>>> string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.digits
'0123456789'
for 循环的else 语句是一个可选项,它只在for 循环完整的结束,没有遇到break 时执行
#!/usr/bin/python
import string
import keyword
alphas = string.letters+' '
nums=string.digits
myid=raw_input('input the name:')
if myid in keyword.kwlist:
print 'wrong keyword'
else:
if len(myid)<=1:
if myid[0] in alphas:
print 'right'
else:
if myid[0] not in alphas:
print 'wrong first'
else:
for oth in myid[1:]:
if oth not in alphas+nums:
print 'wrong behind'
break
else:
#if(oth==len(myid)-1):
print 'right'
相关文章推荐
- [Python入门及进阶笔记00]-写在前面(目录/书籍/学习路线/其他)
- [Python入门及进阶笔记00]-写在前面(目录/书籍/学习路线/其他)
- python 进阶学习之12
- python学习之---函数进阶
- Python学习笔记20:服务器进阶
- [Python学习]总结一下Cygwin安装与进阶学习列表
- 十分钟学习Python的进阶语法
- python 进阶学习之10
- python 进阶学习之8
- Python进阶学习笔记-2
- python进阶学习笔记(一)
- python 进阶学习之1
- python进阶学习笔记(四)--多线程thread
- python 进阶学习之11
- python 进阶学习之5--入门练习题
- Python学习进阶(1)——安装与测试
- python 高手进阶学习资料
- python 进阶学习之3
- python 进阶学习之14
- python进阶学习笔记1-2