4.Python 程序结构

简介: 4.Python 程序结构

简介

结构化程序设计是对面向过程编程的优化,它采用自上而下、逐步求精的设计方法,把系统划分为若干功能模块,各模块按要求单独编程,再通过顺序、分支、循环的控制结构进行连接。该方法强调程序的结构性,编写的代码易读、 易懂、思路清晰。

简单语句简称单句,是由一个单独的逻辑行构成的。多条简单语句可以存在于同一行内,并以分号分隔。

复杂语句简称复句,一条复合语句由一个或多个子句组成。一个子句包含一个句头和一个句体。

  • 子句头:以一个关键字开始,并以一个冒号结束。
  • 子句体:由一个子句控制的一组语句或语句块,通常采用换行缩进书写,多条语句保持多行、相同层缩进。

常见的复合语句分类如下:

if、while和for :设计程序结构,实现流程控制;

try :设计异常处理器,实现异常处理;

with 语句:设计上下文管理器,实现特殊异常处理

def和class:创建函数体和类结构;

async:定义协程,可以在多个位置上挂起和恢复执行。

分支结构

单分支: 使用if语句设计,如果条件表达式为真,则执行语句块;否则,忽略语句块。

'''
if <条件表达式>:
    <语句块>
或者
if <条件表达式>:<单句>
'''
if True:print('Hi,Python')

二分支:使用ifelse语句配合设计,如果条件表达式为真,则执行语句块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]

相关文章
|
5天前
|
Python Windows
Python基础教程(第3版)中文版 第18章 程序打包 (笔记)
Python基础教程(第3版)中文版 第18章 程序打包 (笔记)
|
15天前
|
数据采集 JSON 数据库
800个程序实例、5万行代码!清华大学出版【Python王者归来】
Python 的丰富模块(module)以及广泛的应用范围,使 Python 成为当下最重要的计算机语言之一,本书尝试将所有常用模块与应用分门别类组织起来,相信只要读者遵循本书实例,定可以轻松学会 Python 语法与应用,逐步向 Python 高手之路迈进,这也是撰写本书的目的。 本书以约 800 个程序实例讲解了:完整的 Python 语法,Python 的输入与输出,Python 的数据型态,列表(list)、元组(tuple)、字典(dict)、集合(set),函数设计,类别设计,使用系统与外部模块(module),设计自己的模块(module),文件压缩与解压缩,程序除错与异常处理…
|
3天前
|
Python 索引
【Python字符串攻略】:玩转文字,编织程序的叙事艺术
【Python字符串攻略】:玩转文字,编织程序的叙事艺术
|
3天前
|
Python 存储 数据处理
【Python数据类型的奥秘】:构建程序基石,驾驭信息之海
【Python数据类型的奥秘】:构建程序基石,驾驭信息之海
|
4天前
|
XML 数据格式 Python
Python零基础入门-1 从一行代码开始运行Python程序(续)
Python零基础入门-1 从一行代码开始运行Python程序(续)
|
4天前
|
测试技术 Python
Python零基础入门-1 从一行代码开始运行Python程序
Python零基础入门-1 从一行代码开始运行Python程序
|
5天前
|
存储 区块链 Python
怎么把Python脚本打包成可执行程序?
【6月更文挑战第3天】最近根据用户提的需求用python做了一个小工具,但是在给客户使用的时候不能直接发送python文件,毕竟让客户去安装python环境,那就离了大谱了。所以这时候就需要把多个py文件带着运行环境打包成EXE可执行文件。
9 1
|
5天前
|
搜索推荐 区块链 开发者
【python程序打包教程】PyInstaller一键打包Python程序为独立可执行exe文件
【python程序打包教程】PyInstaller一键打包Python程序为独立可执行exe文件
|
6天前
|
Python
Python编程实战:如何将列表组装成一棵树结构
本文介绍了如何在Python中将列表转换为树结构。首先定义`TreeNode`类表示节点,包含值和子节点列表。然后,通过`list_to_tree`函数递归地将列表转为树。此外,还提供了添加和删除节点的方法。文章旨在帮助读者理解和操作树结构,以解决实际编程问题。
Python编程实战:如何将列表组装成一棵树结构
|
8天前
|
调度 数据库 开发者
在Python编程中,并发编程和异步IO是两个重要的概念,它们对于提高程序性能和响应速度具有至关重要的作用
【6月更文挑战第10天】本文介绍了Python并发编程和异步IO,包括并发编程的基本概念如多线程、多进程和协程。线程和进程可通过threading及multiprocessing模块管理,但多线程受限于GIL。协程利用asyncio模块实现非阻塞IO,适合处理IO密集型任务。异步IO基于事件循环,能提高服务器并发处理能力,适用于网络编程和文件操作等场景。异步IO与多线程、多进程在不同任务中有各自优势,开发者应根据需求选择合适的技术。
18 0