一.条件判断
if expression:
xxxx
else:
xxxx
if expression1:
xxxx
elif expression2:
xxxx
else:
xxxx
if user.cmd in ('create', 'delete', 'update'):
action = '%s item' % user.cmd
else:
action = 'invalid choice... try again!'
二.循环
while (count < 9):
print 'the index is:', count
count += 1
for 循环迭代不同的序列对象. 样例将涵盖字符串, 列表, 以及元组
for eachLetter in 'Names':
print 'current letter:', eachLetter
序列的三种迭代方式
1.通过序列项迭代
nameList = ['Walter', "Nicole", 'Steven', 'Henry']
for eachName in nameList:
print eachName, "Lim"
2.通过序列索引迭代
nameList = ['Cathy', "Terry", 'Joe', 'Heather','Lucy']
for nameIndex in range(len(nameList)):
print "Liu,", nameList[nameIndex]
3.使用项和索引迭代
nameList = ['Donn', 'Shirley', 'Ben', 'Janice','David', 'Yen', 'Wendy']
for i, eachLee in enumerate(nameList):
print "%d %s Lee" % (i+1, eachLee)
与序列相关的内建函数
sorted(), reversed(), enumerate(), zip()
三.迭代器
迭代器就是有一个next()方法的对象,而不是通过索引来计数的,当你或是一个循环机制(例如 for 语句)需要下一个项时, 调用迭代器的 next() 方法就可以获得它. 条目全部取
出后, 会引发一个 StopIteration 异常, 这并不表示错误发生, 只是告诉外部调用者, 迭代完成。
1.序列迭代
myTuple = (123, 'xyz', 45.67)
i = iter(myTuple)
i.next()
123
i.next()
'xyz'
i.next()
45.67
i.next()
Traceback (most recent call last):
File "", line 1, in ?
StopIteration
字典迭代
for eachKey in myDict.keys() 可以缩写为 for eachKey in myDict
Python 还引进了三个新的内建字典方法来定义迭代: myDict.iterkeys() (通过 keys 迭代), myDict.itervalues() (通过 values 迭代), 以及 myDicit.iteritems() (通过 key/value 对来迭代). 注意, in 操作符也可以用于检查字典的 key 是否存在 , 之前的布尔表达式myDict.has_key(anyKey) 可以被简写为 anyKey in myDict
文件迭代
myFile = open('config-win.txt')
for eachLine in myFile:
print eachLine, # comma suppresses extra \n
myFile.close()
阅读(1010) | 评论(0) | 转发(0) |