程序设计模块化是指在程序设计过程中,将一个大的程序功能分成若干个小的程序模块。每个小程序模块实现一定的功能,并在这些小程序模块实现的功能之间建立必要的关系。本文将用实例详细介绍Python的模块化编程,以供参考。
目录
关于模块化编程,水果仓库功能介绍,主要功能实现和程序入口实现,添加功能实现,列出所有信息功能,查询信息功能,删除信息功能。完整的程序如下
关于模块化程序设计
什么是模块化编程?
程序设计模块化是指在程序设计过程中,将一个大的程序功能分成若干个小的程序模块。每个小程序模块实现一定的功能,并在这些小程序模块实现的功能之间建立必要的关系,通过小模块之间的相互协作,完成整个大功能的实现方法。
模块化编程的方法?
通常,复杂程序的实现采用自顶向下的方法。把复杂的场景分成几个部分,每个部门都会细化,直到分解成更好的方案。采用模块化设计程序,不是一开始就一个一个写程序代码,而是先用主程序、子程序等框架描述软件的主要结构和流程。并以功能为单位划分模块进行程序设计。通过使用函数,不仅可以将程序模块化,使程序设计更加简单直观,从而提高程序的可读性和可维护性,而且可以将程序中经常用到的一些计算或操作编写成通用函数,以便随时调用。
本章模拟了一个水果仓库管理程序。在前面的章节中,程序的所有功能代码都集中在一个代码段中,程序的结构并不清晰。本章程序采用函数实现,采用模块化编程方法:
划分水果仓库程序的功能模块,用函数实现相应的功能。先实现整体框架,再细化各个功能的细节。最终的程序由多个功能组成,每个功能实现一个功能,整个程序结构清晰。
水果仓库功能简介
编写程序fruits_warehouse来模拟一个简单的水果仓库管理系统。水果仓库包含几个水果,每个水果包含三项:名称、重量和日期。该程序提供了四个基本功能:
添加水果:用户输入水果的名称、重量和日期信息,并将这些信息保存在一个列表中,列出当前所有的水果;打印出当前所有水果的信息来查询水果;用户输入水果名称,打印出水果信息,删除水果;用户输入水果的名称并删除水果的信息。
以上功能都是通过命令行界面实现的。当程序fruits_warehouse运行时,它首先打印一个菜单,如下所示:
1.添加水果信息
2:显示所有水果
3.查询水果信息
4:删除水果信息
5:辞职
请根据提示数字1-5输入要执行的操作:
所以我们定义一个函数来获取如下选项:
def get_option():
打印(' 1:添加水果信息')
打印(“2:显示所有水果”)
打印(' 3:查询水果信息')
打印(' 4:删除水果信息')
打印(“5:退出”)
Option=input('请根据提示输入要执行的操作:数字1-5 ')
返回选项
get_option()
#执行结果如下:
# 1:添加水果信息
# 2:显示所有水果
# 3:查询水果信息
# 4:删除水果信息
# 5:辞职
#请根据提示数字1-5输入要执行的操作:
主功能实现与程序入口
共有5个选项,用户输入相应的数字来选择相应的功能,如下表所示:
选项对应功能1: add _ fruit添加水果信息2: search _ all _ fruits列出当前所有水果信息3: query _ fruit 3:query_fruit信息4: del _ fruit删除水果信息5: quit
写相应的函数,这里我们先写函数的定义,暂时用pass做占位符。代码如下所示
Add _ fruit (): #添加水果信息
及格
Def _ all _ fruits (): #列出所有当前水果信息
及格
Def _ fruit (): #查询水果信息
及格
Del _ fruit (): #删除水果信息
及格
Main (): #主入口
及格
接下来,我们将实现下面的主条目并获取用户的输入
Fruits=[] #创建一个空的水果列表,记录所有水果的信息。
Def _ option (): #获取用户输入
打印(' 1:添加水果信息')
打印(“2:显示所有水果”)
打印(' 3:查询水果信息')
打印(' 4:删除水果信息')
打印(“5:退出”)
Option=input('请根据提示输入要执行的操作:数字1-5 ')
返回选项
Add _ fruit (): #添加水果信息
及格
Def _ all _ fruits (): #列出所有当前水果信息
及格
Def _ fruit (): #查询水果信息
及格
Del _ fruit (): #删除水果信息
及格
Main (): #主入口
虽然正确:
option=get_option()
if选项=='1 ':
add _水果()
elif option=='2 ':
搜索_所有_水果()
elif option=='3 ':
查询_水果()
elif option=='4 ':
水果()
elif option=='5 ':
破裂
否则:
打印('输入错误!请再次输入!)
主()
实现添加功能
Add _ fruit (): #添加水果信息
name=input('name:')
重量=输入('重量: ')
日期=输入('日期: ')
fruit={'name ':名称,' weight ':重量,' date ':日期}
水果. append(水果)
实现列出所有信息功能
Def _ all _ fruits (): #列出所有当前水果信息
如果len(水果)==0:
打印(' * * * * * * * * * * * * * * * * ')
打印(“当前仓库没有水果”)
打印(' * * * * * * * * * * * * * * * * ')
否则:
对于水果中的水果:
print(f'%s,%s,%s' %(水果['名称'],水果['重量'],水果['日期']))
实现查询信息功能
Def _ fruit (): #查询水果信息
name=input('name:')
如果len(水果)==0:
打印(' ************** ')
打印(“当前仓库没有水果”)
打印(' ************** ')
否则:
对于水果中的水果:
如果果['名称']==名称:
print(f'%s,%s,%s' %(水果['名称'],水果['重量'],水果['日期']))
实现删除信息功能
Del _ fruit (): #删除水果信息
name=input('name:')
如果len(水果)==0:
打印(' ************** ')
打印(“当前仓库没有水果”)
打印(' ************** ')
否则:
对于水果中的水果:
如果果['名称']==名称:
水果。移除(水果)
破裂
完整程序如下
注:这个完整程序的功能其实并不完整,只能说实现了一个基本功能;举个例子,在一个场景中,当我们要查询或删除的水果不在水果列表中时,这里没有验证,只验证当前水果列表中是否有水果(长度判断)。
所以你可以自己改进。
#编码:utf-8
'''
@作者:Neo
@日期:2020年1月14日
@文件名:fruits_warehouse.py
@软件:Pycharm
'''
Fruits=[] #创建一个空的水果列表,记录所有水果的信息。
Def _ option (): #获取用户输入
打印(' 1:添加水果信息')
打印(“2:显示所有水果”)
打印(' 3:查询水果信息')
打印(' 4:删除水果信息')
打印(“5:退出”)
Option=input('请根据提示编号1-5输入要执行的操作:')
返回选项
Add _ fruit (): #添加水果信息
name=input('name:')
重量=输入('重量: ')
日期=输入('日期: ')
fruit={'name ':名称,' weight ':重量,' date ':日期}
水果. append(水果)
印刷品(水果)
Def _ all _ fruits (): #列出所有当前水果信息
如果len(水果)==0:
打印(')
打印(' * * * * * * * * * * * * * * * * ')
打印(“当前仓库没有水果”)
打印(' * * * * * * * * * * * * * * * * ')
打印(')
否则:
对于水果中的水果:
打印(f'%s,%s,%s' %(水果['名称'],水果['重量'],水果['日期']))
极好的查询_水果():#查询水果信息
name=input('name:')
如果len(水果)==0:
打印(')
打印(' * * * * * * * * * * * * * * * * ')
打印('当前仓库没有水果)
打印(' * * * * * * * * * * * * * * * * ')
打印(')
否则:
对于水果中的水果:
如果果['名称']==名称:
打印(f'%s,%s,%s' %(水果['名称'],水果['重量'],水果['日期']))
def del_fruit(): #删除水果信息
name=input('name:')
如果len(水果)==0:
打印(')
打印(' * * * * * * * * * * * * * * * * ')
打印('当前仓库没有水果)
打印(' * * * * * * * * * * * * * * * * ')
打印(')
否则:
对于水果中的水果:
如果果['名称']==名称:
水果。移除(水果)
破裂
def main(): #主程入口
虽然正确:
option=get_option()
如果选项=='1 ':
添加_水果()
elif option=='2 ':
搜索_所有_水果()
elif option=='3 ':
查询_水果()
elif option=='4 ':
德尔_水果()
elif option=='5 ':
破裂
否则:
打印('输入错误!请重新输入!')
主()
以上就是计算机编程语言学习之模块化程序设计示例详解的详细内容,更多关于计算机编程语言模块化程序设计的资料请关注我们其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。