Lesson 3-1(语句:条件语句)
3.1 条件语句:if 语句
3.1.1 if 语句组成
--- if 语句包含:if 关键字、条件、冒号、if 子句(缩进代码块)。
--- if 语句表达的意思为:如果条件为真(True),执行后面子句中的代码;如果条件为假(False),后面的子句将跳过不执行。
1 if 10 == 10 : 2 print('10 == 10') 3 4 if 10 == 9 : 5 print('10 == 9') 6
结果:
1 1 10 == 10 2 2 3 3 Process finished with exit code 0
3.1.2 if 语句的条件:布尔表达式
--- 在布尔表达式中,除了标准值False,还有None、各种类型的数值0、空序列(如:空字符串“”、空元组()、空列表[])以及空映射(如:空字典{})也都将被视为假。
--- 在布尔表达式中,标准值True,以及其它不被视为假的各种表达式都将被视为真。
1 if False: 2 print('False') 3 4 if 0 : 5 print('0') 6 7 if 0.0 : 8 print('0.0') 9 10 if None : 11 print('None') 12 13 if "" : 14 print(' “” ') 15 16 if [] : 17 print('[]') 18 19 if {} : 20 print('{}') 21 22 if True : 23 print('True') 24 25 if 123 : 26 print('123') 27 28 if 1+2+3 : 29 print('1+2+3') 30 31 if "hello" : 32 print('hello') 33 34 if True + False : 35 print('True + False') 36 print(True + False)
结果:
1 True 2 123 3 1+2+3 4 hello 5 True + False 6 1 7 8 Process finished with exit code 0
&、注意字符串“”和“ ”的区别(两个引号中间有空格)。
3.1.3 if 语句的子句:else 子句
--- else子句包含:else关键字、冒号、else子句(缩进的代码块)
--- 在if 语句中的else子句表达的意思为:如果if 语句的条件为假,则执行else子句的代码块。如果if 语句的条件为真,则执行if 语句的代码块,然后直接跳出if 语句,不会执行else 子句的代码块。
1 if 1 : 2 print("True") 3 else : 4 print('False')
结果:
1 True 2 3 Process finished with exit code 0
1 # if 0 : 2 # print("True") 3 # else : 4 # print('False')
结果:
1 False 2 3 Process finished with exit code 0
3.1.4 if 语句的子句:elif 子句
--- elif 子句包含:elif 关键字、条件、冒号、elif子句(缩进的代码块)
--- 在if 语句中的elif 子句表达的意思为:如果if 语句的条件为真,执行if 语句代码块后跳出;如果if 语句条件为假,则执行elif子句,先判断elif子句中的条件,如果为真,则执行elif子句的代码块,为假,则跳出。
1 if 1 : 2 print("11111") 3 elif 2 : 4 print('22222') 5 6 结果: 7 11111 8 9 Process finished with exit code 0
1 if 0 : 2 print("11111") 3 elif 2 : 4 print('22222') 5 6 结果: 7 /usr/bin/python3.7 "/home/jlu/Projects/Python/untitled/2019-4-20/if 语句.py" 8 22222 9 10 Process finished with exit code 0
&、if 语句可以包含多个elif 子句,但最多只能包含1个else 子句。
&、如果if 语句中既包含elif 子句又包含else 子句,先判断if 语句的条件,再判断elif 子句的条件,当以上两种条件都为假时,才会执行到else 子句的代码块。
3.1.5 if 语句的嵌套
--- 可以将if 语句嵌套到其它的if 语句中
1 if 1 : 2 if 0 : 3 print('11111') 4 elif 0 : 5 print('22222') 6 elif 0 : 7 print('33333') 8 else: 9 print('44444') 10 elif 1 : 11 print('55555') 12 else: 13 print('66666') 14 15 结果: 16 /usr/bin/python3.7 "/home/jlu/Projects/Python/untitled/2019-4-20/if 语句.py" 17 44444 18 19 Process finished with exit code 0