Python 3 Control Flow
1. 概述
2. if 语句
3. while 语句
4. for 语句
5. 其他流程控制
1. 概述
控制流程包括 if
for
和 while
Python 的流程控制语句有些特殊
- 首先,关于流程控制不使用括号,只有函数和表达式才使用小括号
- 使用冒号指示语句块的开头
2. if 语句
下面是一个 if
语句的例子
#!/usr/bin/python
# Filename: if.py
number = 23
guess = int(input('Enter an integer : '))
if guess == number:
print('Congratualtions, you guessed it!')
print('But you do not win any prizes!')
elif guess < number:
print('No, it is a little higher than that')
else:
print('No, it is a little lower than that')
print('Done')
几个注意要点:
- Python 中为了减少缩进,使用
elif
来代替if...else if...else
- 注意缩进,同样的缩进等级表示了同一个代码块
- Python 中没有
switch
语句,使用相应的if..eles
结构来替代 - 注意不要漏掉冒号
3. while 语句
while 语句与其他语言无太大差别,讲几个注意事项
- 注意不要漏掉
while
语句末尾的冒号 Ture
和False
代表布尔类型while
可以有else
语句,但一般不使用
4. for 语句
for
语句和其他语言有较大区别,以下是 Python 和 Java 语言的对比
# Python
for i in range(0, 4):
print(i)
下面是等价的 Java
// Java
for(int i = 0; i < 4; i++) {
System.out.println(i);
}
实际上 Python 的 for
语句更像 Java 中的 foreach
语句,下面是两种等价的语法形式
# Python
for word in wordList:
print(word)
下面是 Java 语法表述
// Java
for(word : wordList) {
System.out.println(word);
}
需要注意的几个要点:
-
range()
函数的指示区间为左闭右开 -
print()
函数会默认打印换行符通过指示
end
来进行单行打印
print(word, end='')
如果缓冲区中有字符,那么指定flush
为True
来清除缓冲区
print(word, end='', flush=True)
5. 其他流程控制
break
和 continue
都和其他语言无异