代码块和if条件表达式

代码块

什么是代码块

以冒号作为开始,用缩进来划分作用域。

在之后的学习当中,使用if条件语句、for、while循环语句、定义函数、定义类等诸多地方都会涵盖代码的概念。

什么是作用域

代码块作用的区域,作用的范围,在Python中使用空格或者是缩进来进行划分,缩进或空格之后一定要写代码才是一行完整的作用域。

注意事项

同一个作用域的缩进或者是空格的使用要一致,使用的类型、数量都要一致,比如使用空格,整个作用域都要使用空格,如果使用4个空格,那么都要使用4个空格,缩进和空格决不能混合使用。

定义代码块之后,必须要划分作用域,python会在代码块之后一直寻找作用域,一直找到文档的最后一行,如果没有找到,就会报错。

使用if来举例(if条件表达式我们之后会讲):

if 1:           # 使用了冒号“:”,说明我们定义了一个代码块
# 这一行使用了缩进,但是后面却没有代码,注释是不算代码的,就依然向下执行寻找作用域。
print(1)    # 缩进之后有代码,这就是一行作用域,作用域的行数是不限制的,但是最少也要有一行。
print(2)    # 第二行作用域
print('hello')  # 取消缩进开头,就说明跳出了代码块的作用域,不在代码块中的代码不受作用域的影响。

流程控制

流程:代码执行的过程

控制:对代码执行过程中的一种把控

if条件表达式

if条件表达式几乎所有的语言都存在,我们之前说过,计算机当中的任何东西都是非真既假的,而if的作用的就是判断一段条件语句是真还是假,如果是真,就执行它所开辟的代码块中的作用域代码,反之不执行。

三大结构
  1. 顺序结构:默认代码一次从上到下执行,也就是正常最普见的代码

  2. 分支结构if条件表达式

    
    1.  单项分支
        
    2.  双向分支
        
    3.  多项分支
        
    4.  巣状分支
        
  3. 循环结构while循环表达式

单项分支

单单使用一个if语句完成,当条件表达式成立,返回True,执行相应的作用域,反之不执行。

if expression:
code0
code1
...

if 10 == 10:    # 10 == 10 条件成立,返回True,执行相应的代码域
print(1)
print(2)

if 10 != 10:    # 10 != 10 条件不成立,返回False,跳过相应的代码域,不予执行
print(10)
print(20)
print(666)      # 不在作用域中的代码不受if表达式的影响。

'''
结果:
1
2
666
'''

双向分支

除了使用if,还有else分支,这就是双向分支。如果if的条件表达式成立,执行if相应的代码域;反之执行else相应的代码域。所以if代码块叫做真区间,else代码块叫做假区间。

if expression:
code0
...
else:
code0
...

if True:                # 条件为真
print('真区间0')     # 执行真区间
else:
print('假区间0')     # 假区间不执行

if False:               # 条件为假
print('真区间1')     # 不执行真区间
else:
print('假区间1')     # 执行假区间

'''
结果:
真区间0
假区间1
'''

多项分支

除了ifelse之外还有elif的使用,elif也需要条件表达式,如果if的表达式不成立,判断elif的表达式,依次执行,那个分支的表达式成立执行哪个作用域,如果都不成立,执行else分支。

elif分支可以出现多个,没有数量的限制,但是所有的elif必须在if分支的后面,else的前面;而else分支可以也可以不写,如果写至多存在一个。

if expression0:
code0
...
elif expression1:
code0
...
elif expression2:
code0
...
else:
code0
...

if False:
print('真区间0')
elif False:
print('真区间1')
elif True:
print('真区间2')
else:
print('假区间')

'''
结果:
真区间2
'''

巣状分支

巣状分支就是单项分支,双向分支,多项分支的互相嵌套,也就是在实际的编程情况当中,单纯的某一种分支方式不能够满足功能的需要,所以使用多种分支的结合,灵活搭配满足必要的功能。

循环结构

循环结构就是while循环的时候,请看下一篇,循环语法


小小垂髫
1 声望0 粉丝