【流程控制】
if语句
1.1 功能
计算机又被称作电脑,意指计算机可以像人脑一样,根据周围环境条件(即expession)的变化做出不同的反应(即执行代码)
if语句就是来控制计算机实现这一功能
1.2 语法
1.2.1:单分支,单重条件判断
|
1
2
3
4
5
|
if expression:
expr_true_suite
注释:expession为真执行代码expr_true_suite |
1.2.2:单分支,单重条件判断
|
1
2
3
4
5
|
if not active or over_time >= 10:
print('Warning:service is dead')
warn_tag+=1
|
1.2.3:if+else
|
1
2
3
4
5
6
7
|
if expression:
expr_true_suite
else:
expr_false_suite
|
1.2.4: 多分支if+elif+else
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
if expession1:
expr1_true_suite
elif expression2:
expr2_true_suite
elif expession3:
expr3_true_suite
else:
none_of_the_above_suite
|
1.2.5 : if语句小结
1.if后表达式返回值为True则执行其子代码块,然后此if语句到此终结,否则进入下一分支判断,知道满足其中一个分支,执行后终结if
2.expression可以引入运算符:not,and,or,is,is not
3.多重expression为加强可读性最好用括号包含
4.if与else缩进级别一致表示是一对
5.elif与else都是可选的
6.一个if判断最多只有一个else但是可以有多个elif
7.else代表if判断的终结
8.expression可以是返回值为布尔值的表达式(例x>1,x is not None)的形式,也可是单个标准对象(例x=1;if x:print('ok'))
9.所有标准对象均可用于布尔测试,同类型的对象之间可以比较大小。每个对象天生具有布尔True或False值。空对象、值为零的任何数字或者Null对象None的布尔值都是False。
下列对象的布尔值是 False
|
1
2
3
4
5
6
7
8
9
|
NoneFalse(布尔类型)
所有的值为零的数0(整型)
0.0+0.0j(复数)
""(空字符串)[](空列表)()(空元组){}(空字典) |
1.3 案例
''' 提示输入用户名和密码 验证用户名和密码 如果错误,则输出用户名或密码错误 如果成功,则输出 欢迎,XXX! ''' import getpass name=input('用户名: ') passwd=getpass.getpass('密码: ') if name == 'alex' and passwd == '123': print('土豪里边请') else: print('土鳖请走开')