简介
结构化程序设计是对面向过程编程的优化,它采用自上而下、逐步求精的设计方法,把系统划分为若干功能模块,各模块按要求单独编程,再通过顺序、分支、循环的控制结构进行连接。该方法强调程序的结构性,编写的代码易读、 易懂、思路清晰。
简单语句简称单句,是由一个单独的逻辑行构成的。多条简单语句可以存在于同一行内,并以分号分隔。
复杂语句简称复句,一条复合语句由一个或多个子句组成。一个子句包含一个句头和一个句体。
- 子句头:以一个关键字开始,并以一个冒号结束。
- 子句体:由一个子句控制的一组语句或语句块,通常采用换行缩进书写,多条语句保持多行、相同层缩进。
常见的复合语句分类如下:
if、while和for
:设计程序结构,实现流程控制;
try
:设计异常处理器,实现异常处理;
with
语句:设计上下文管理器,实现特殊异常处理;
def和class
:创建函数体和类结构;
async
:定义协程,可以在多个位置上挂起和恢复执行。
分支结构
单分支: 使用if
语句设计,如果条件表达式为真,则执行语句块;否则,忽略语句块。
''' if <条件表达式>: <语句块> 或者 if <条件表达式>:<单句> ''' if True:print('Hi,Python')
二分支:使用if
和else
语句配合设计,如果条件表达式为真,则执行语句块1;否则,将执行语句块2.
''' if <条件表达式>: <语句块1> else: <语句块2> 或者 [语句块2,语句块1][条件表达式] ''' import random num = random.randint(1,100) if num%2 == 0: print(str(num),'是偶数。') else: print(str(num),'是奇数。')
多分支:嵌套条件语句,常用if-elif-else
语句组合设计多分支结构。
''' if <条件表达式1>: <语句块1> elif <条件表达式2>: <语句块2> ... else: <语句块n> ''' import random num = random.randint(1,100) if num < 60: print(str(num),'小于60') elif num < 80: print(str(num),'大于等于60,但小于80。') else: print(str(num),'大于等于80')
循环结构
循环结构表示程序反复执行某个或某些操作,直到循环条件为假时才可终止循环。Python 语言的循环结构包括两种:无限循环和遍历循环。
无限循环:当循环条件表达式的值为真时,将执行语句块,执行结束后,再返回循环条件表达式继续求值判断。直到循环条件表达式的值为假时,才跳出循环。
''' while <循环条件>: <语句块> 或者 while <循环条件>:<单句> '''
遍历循环:for
语句从可选代对象中逐一提取元素,传递给循环变量,然后执行一次语句块,在语句块中可以引用循环变量。for 语句的循环执行次数是根据可迭代对象中元素个数确定的。
''' for <循环变量> in <可迭代对象>: <语句块> '''
可选代对象可以是字符串、字节串、列表、元组、宇典、集合,文件、range对象、生成器、选代器等。
终止循环:使用break
语句可以中途终止循环的执行,一般与if
语句配合使用,避免无限循环,浪费资源。break
语句只能用在 for
或 whilewhile
循环语句中。
''' while <循环条件>: if <条件表达式>: break <语句块> 或者 for <循环变量> in <可迭代对象> if <条件表达式>: break <语句块> ''' for i in range(10): # 循环2:外层循环 for j in range(10): # 循环1:内层循环 print(i,j) # 执行代码,可以添加更多语句 if i == 2 and j == 2: # 跳出嵌套循环的条件 break # break1:内层循环终止 else: continue break # brcak2:外层循环终止
在嵌套循环中,break语句仅能终止当前循环,返回外层循环,继续执行。
结束本次循环:使用continue
语句可以中途结束本次储环的执行,跳出循环体中下面尚末执行的语句,但不跳出当前循环。
''' while <循环条件>: if <条件表达式>: continue <语句块> 或者 for <循环变量> in <可迭代对象>: if <条件表达式>: continue <语句块> ''' a=[1,"hi", 2,"good","4","",3,4,5.3,8] #定义井初始化列表a b = [] # 定义临时空列表b for i in a: # 遍历列表a if type(i) != int: # 如果为非整数 continue # 则返回继续下一次循环 b.append(i) # 把数宇奇存到列表6 print(b) # 输出 [1,2,3,4,8]