今天是学python的第二天,主要学习内容是流程控制:if选择结构,While循环,for循环。
1.选择结构
1.1 if
if condition:
pass
elif:
pass
else:
pass
if/else
的语法结构就是这样,中间可以加任意数量的elif
,也可以不带else
根据需求来定。python中没有switch
,对于多分支的选择结构只能使用elif
,但是这样很显然更简便一些,事实上我在学Java的时候也很少用到switch选择结构。
if
的判定条件需要为一个布尔值,true或者false都行,但是要注意Frue
和False
首字母需大写,否则不会识别为关键字。
1.2 switch
python中并没有switch
2. 循 环 结 构
2.1 while 循 环
while expression:
pass
else:
pass
while
循环的语法结构如上所示,可以不加else
,判定条件仍需为布尔值。
可以嵌套if
循环使用continue
和break
关键字,例如:
while expression:
if True:
continue
else:
break
else:
pass
其中continue
关键字可跳过当前次循环后续语句直接进入下次循环,break则可以跳出循环执行整个循环结构后续的语句。
2.2 for 循 环
for target_list in expression_list:
pass
else:
pass
在python中for
循环只能作为迭代器使用,可搭配range()
函数来形成类似于Java中foreach的结构
for i in list:
for i in range(1, 10, 1):
for i in range(1,10):
print(i)
等同于
public class Test {
public static void main(String[] args) {
for (int i : list)) {
System.out.println(i);
}
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
}
}
很明显python中for
集成了foreach的语法简洁,搭配range()
函数又拥有了Java标准for语句的强大功能,兼职是厉害到不行。
- 另:
range()
函数最多可拥有3个参数,range(1,10,1)
意为从1到9,步长为1的一个数组
a = []
b = []
i = 1
while i < 10:
a.append(i)
i += 1
print(a)
for i in range(1, 10, 1):
b.append(i)
print(b)
输出结果为:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
3.总 结
流程控制语法和其他开发语言大同小异,但更为简洁,代码量更小,看似减少了大量功能,比如砍掉了switch,for只能用作迭代器,While作为主逻辑循环。但是在实际使用中,事实上并不需要太多复杂的用途,循环语句最常见的用途就是计数,迭代,或者脚本中的部署多个环境时用来减少代码量。更为单一的功能反而能提升代码的可阅读性。况且在搭配各种函数或方法,完全能发出巨大的光辉!