12、流程控制
流程控制
if else
-
if语句
-
Python的if语句类似其他语言。if语句包含一个逻辑表达式,使用表达式比较,在比较的结果的基础上作用出决定。
if expression: statement
-
注:Python使用缩进作为其语句分组的方法,建议使用4个空格代替缩进。
-
逻辑值(bool)用来表示诸如:对与错,真与假,空与非空的概念
-
逻辑值包含了两个值:
- True:表示非空的量(比如:string, tuple, set, dictonary等),所有非零数
- False:表示0,None,空的量等。
-
作用:主要用于判读语句中,用来判断
- 一个字符串是否为空的
- 一个运算结果是否为零
- 一个表达式是否可用
-
-
else语句
-
语法
if expression: statement else: statement
-
如果条件表达式if语句解析为0或false值。else语句是一个可选的语句,并最多只能有一个else语句。
-
-
elif语句
-
语法
if expression: statement elif expression2: statement elif expression3: statement else: statement
-
elif语句可以让你检查多个表达式为真值,并执行一个代码块,elif语句是可选的。可以有任意数量的elif。
-
-
嵌套的if...elif...else构造
if expression1: statement if expression2: statement else: statement else: statement
-
使用逻辑运算符and、or、not
if expression1 and expression2: statement else: statement
for循环
-
循环是一个结构,导致一个程序重复一定次数。
-
条件循环也是如此。当条件变为假,循环结束。
-
for循环:
- 在Python for循环遍历序列,如一个列表或一个字符。
-
for循环语法:
for iterating_var in sequence: statements
-
注:如果一个序列包含一个表达式列表,它是第一个执行。
然后,该序列中的第一项赋值给迭代变量iterating_var。接下来,执行语句块。列表中的每个项目分配到iterating_var,代码块被执行,直到整个序列被耗尽。 -
注:格式遵循代码块缩进原则
-
例子:
for letter in 'python': print 'Current Letter: ', letter fruits=['banana', 'apple', 'mango'] for fruit in fruits: print 'Current fruit: ', fruit
-
迭代序列指数(索引):
-
遍历每个项目的另一种方法是由序列本身的偏移指数(索引)
-
例子
fruits=['banana', 'apple', 'mango'] for index in range(len(fruits)): print 'Current fruit: ', fruits[index]
-
注:‘迭代’,指重复执行一个指令。
-
range
-
循环结构是用于迭代多个项的for语句,迭代形式可以循环序列的所有成员。
-
range(i,j[,步进值])
- 如果所创建的对象为整数,可以用range
- i为初始数值
- j为终止数值,但不包括在范围内,步进值为可选参数,不选的话默认是1
- i不选择的话默认为0
-
例子:
sum = 0 for num in range(1, 101, 1): sum += num print sum
遍历字典
dic={'name': 'jack', 'age': 20, 'gender':'male'}
for key in dic:
val = dic[key]
print key,val
for key,val in dic.items():
print key, val
for循环控制
for x in range(10):
if x == 1:
pass
if x == 2:
continue
if x == 5:
break;
else
print 'end'
while循环
-
while循环,直到表达式变为假。表达的是一个逻辑表达式,必须返回一个true或false值
-
语法:
while expression: statement
-
注:遵循代码块缩进原则
while x != 'q': x = raw_input('please input something, q for quit: ') if not x: break else: print 'end'