序列
有序排列,包括下面这些:字符串(普通字符串和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()把两个或者多个列表对象合并
切片操作符 ( [], [:], [::] )
>>> 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'