第四章 控制结构体

第四章 控制结构体

4.1 if条件控制

4.1.1 语法

​ if condition:

​ statement

​ [elif condition:

​ statement]

​ [else:

​ statment]

单行结构体:

​ if condition: 子代码块

​ if condition:子代码块;else:子代码块

​ if condition:子代码块;[elif condition: 子代码块;] else:子代码块

4.1.2 shell if控制结构体

​ if condition;then

​ statement

​ [elif condition;then

​ statement]

​ [else

​ statement]

​ fi

4.1.3 关于conditon的说明

​ case1: condition可以为一个表达式;

​ case2: conditon可以为任意的数据类型,只要bool(condition)可以进行转换;

4.1.4 扩展说明

​ case1: if结构体支持多重嵌套;但是不宜嵌套的层数过深,一边嵌套三层左右,嵌套过深一般都是程序代码的逻辑有问题,或者需要考虑采用其他的方式实现;

​ case2: elif结构体可以定义任意数量个;

4.2 while循环控制

4.2.1 while语法

​ while conditon:

​ statement

​ [else:

​ statement]

单行结构体:

​ while condition: 子代码块

​ while conditon: 子代码块;else: 子代码块

4.2.2 shell while循环

​ while condition;do

​ statement

​ done

4.2.3 condition说明

​ case1: condition可以为一个表达式;

​ case2: conditon可以为任意的数据类型,只要bool(condition)可以进行转换;

​ case3: condition的特殊用法flag用法,后续扩展说明;

4.2.4 else代码块执行条件:

​ case1: while结构体的condition为False时,才会触发else代码块的执行;

​ case2: while结构体中,一旦有break关键字被触发执行,break会触发整个while else结构体的退出,此时conditon的布尔值并未发生改变,会直接影响else代码块的触发执行;

​ case3: while结构体中的continue关键字,对else代码块的执行没有任何影响;

4.2.5 flag用法
4.2.5.1 引入

​ shell的break continue关键字的语法为: break n |continue n;其在多层循环嵌套的场景能够自由的对多层循环结构体进行控制;而python中这两个关键字是单独使用的,只能完成对当前循环结构体的控制,若要控制外层循环嵌套结构体是无法通过break continue关键实现;故此引入了flag的用法,用以实现多对层循环嵌套结构的控制;

4.2.5.2 用法

​ 将循环控制的条件设置为一个变量flag;flag为预先设置好的一个变量,此变量的逻辑运算的结果能正常让循环结构体的执行;此后在无限循环结构体或多层循环结构体中,通过某个条件去控制flag的值,从而实现控制外层循环结构的功能;

用法:

​ flag=bool(obj)==True

​ while flag: 子代码块

4.2.5.3 应用场景

​ case1: 无限循环应用场景,可以在在代码块中定义某个条件下去修改flag的值触发终止循环;

​ case2: 多重while循环结构体中,可以采用flag停止最外层的循环;

4.4 for循环控制

4.4.1 语法

​ for var in iterable:

​ statement

​ [else:

​ statment]

单行结构体:

​ for var in iterable: 代码块

​ for var in iterable:代码块1;else: 代码块;

4.4.2 shell for结构体

​ for var in seq;do

​ statment

​ done

4.4.3 else代码块的执行条件

​ case1: iterable遍历完成之后,才会触发else代码块的执行;

​ case2: 同while..else结构体类似,for..else结构体中else代码块的执行同样受break关键字的影响;

​ case3: for..else结构体中else代码块是否执行并不受continue关键字的影响;

4.5 continue break用法

关键字 功能
break 终止当前循环结构体的执行,整个代码执行当前循环结构体后的程序代码;
continue 停止当前循环结构体的当前次循环的继续执行,继续开始当前循环结构体的下一次循环;
posted @ 2019-12-10 14:55  大兵0815  阅读(134)  评论(0)    收藏  举报