6.加强练习 0 模块的基本使⽤ 学⽣管理系统 set、list、tuple 列表推导式 匿名函数 递归函数(了解) 给程序传参 01.模块 模块是 Python 程序架构的⼀个核⼼概念 模块 就好⽐是 ⼯具包,要想使⽤这个⼯具包中的⼯具,就需要 导⼊import 这个模块 每⼀个以扩展名 py 结尾的 Python 源代码⽂件都是⼀个 模块 在模块中定义的 全局变量 、 函数 都是模块能够提供给外界直接使⽤的⼯具 1.1第⼀个模块体验 步骤 新建 hm_10_分隔线模块.py 复制 hm_09_打印多条分隔线.py 中的内容,最后⼀⾏ print 代码除外 增加⼀个字符串变量 name = "⿊⻢程序员" 新建 hm_10_体验模块.py ⽂件,并且编写以下代码: import hm_10_分隔线模块 hm_10_分隔线模块.print_line("-", 80) print(hm_10_分隔线模块.name) 体验⼩结 可以 在⼀个 Python ⽂件 中 定义 变量 或者 函数 然后在 另外⼀个⽂件中 使⽤ import 导⼊这个模块 导⼊之后,就可以使⽤ 模块名.变量 / 模块名.函数 的⽅式,使⽤这个模块中定义的变 量或者函数 模块可以让 曾经编写过的代码 ⽅便的被 复⽤! 1.2模块名也是⼀个标识符 标示符可以由 字⺟、下划线 和 数字 组成 不能以数字开头 不能与关键字重名 注意:如果在给 Python ⽂件起名时,以数字开头 是⽆法在 PyCharm 中通过导⼊这个模块的 02.综合应⽤—— 名⽚管理系统 系统需求 程序启动,显示名⽚管理系统欢迎界⾯,并显示功能菜单 ************************************************** 欢迎使⽤【名⽚管理系统】V1.0 1.新建名⽚ 2.显示全部 3.查询名⽚ 0. 退出系统 ************************************************** ⽤户⽤数字选择不同的功能 根据功能选择,执⾏不同的功能 ⽤户名⽚需要记录⽤户的 姓名、电话、QQ、邮件 如果查询到指定的名⽚,⽤户可以选择 修改 或者 删除 名⽚ 步骤 1.框架搭建 2.新增名⽚ 3.显示所有名⽚ 4.查询名⽚ 5.查询成功后修改、删除名⽚ 6.让 Python 程序能够直接运⾏ 2.1框架搭建 ⽬标 搭建名⽚管理系统 框架结构 1.准备⽂件,确定⽂件名,保证能够 在需要的位置 编写代码 2.编写 主运⾏循环,实现基本的 ⽤户输⼊和判断
2.2⽂件准备 1.新建 cards_main.py 保存 主程序功能代码程序的⼊⼝ 每⼀次启动名⽚管理系统都通过 main 这个⽂件启动 2.新建 cards_tools.py 保存 所有名⽚功能函数 将对名⽚的 新增、查询、修改、删除 等功能封装在不同的函数中
2.3编写主运⾏循环 在 cards_main 中添加⼀个 ⽆限循环 while True: # TODO(⼩明) 显示系统菜单 action = input("请选择操作功能:") print("您选择的操作是:%s" % action) # 根据⽤户输⼊决定后续的操作 if action in ["1", "2", "3"]: pass elif action == "0": print("欢迎再次使⽤【名⽚管理系统】") break else: print("输⼊错误,请重新输⼊") 字符串if action in ["1", "2", "3"]:判断 if action == "1" or action == "2" or action == "3": 1.使⽤ in 针对 列表 判断,避免使⽤ or 拼接复杂的逻辑条件 2.没有使⽤ int 转换⽤户输⼊,可以避免 ⼀旦⽤户输⼊的不是数字,导致程序运⾏出错 pass pass 就是⼀个空语句,不做任何事情,⼀般⽤做占位语句是为了保持程序结构的完整性 ⽆限循环 在开发软件时,如果 不希望程序执⾏后 ⽴即退出可以在程序中增加⼀个 ⽆限循环 由⽤户来决定 退出程序的时机 TODO 注释 在 # 后跟上 TODO ,⽤于标记需要去做的⼯作 # TODO(作者/邮件) 显示系统菜单 在 cards_tools 中增加四个新函数 def show_menu(): """显示菜单""" pass def new_card(): """新建名⽚""" print("-" * 50) print("功能:新建名⽚") def show_all(): """显示全部""" print("-" * 50) print("功能:显示全部") def search_card(): """搜索名⽚""" print("-" * 50) print("功能:搜索名⽚") 2.5导⼊模块 在 cards_main.py 中使⽤ import 导⼊ cards_tools 模块 import cards_tools 修改 while 循环的代码如下: import cards_tools while True: cards_tools.show_menu() action = input("请选择操作功能:") print("您选择的操作是:%s" % action) # 根据⽤户输⼊决定后续的操作 if action in ["1", "2", "3"]:
if action == "1": cards_tools.new_card() elif action == "2": cards_tools.show_all() elif action == "3": cards_tools.search_card()
elif action == "0": print("欢迎再次使⽤【名⽚管理系统】")
break else: print("输⼊错误,请重新输⼊:") ⾄此:cards_main 中的所有代码全部开发完毕! 2.6完成 show_menu 函数 def show_menu(): """显示菜单""" print("*" * 50) print("欢迎使⽤【菜单管理系统】V1.0") print("") print("1. 新建名⽚") print("2. 显示全部") print("3. 查询名⽚") print("") print("0. 退出系统") print("*" * 50) 2.7保存名⽚数据的结构 程序就是⽤来处理数据的,⽽变量就是⽤来存储数据的 使⽤ 字典 记录 每⼀张名⽚ 的详细信息使⽤ 列表 统⼀记录所有的 名⽚字典 定义名⽚列表变量 在 cards_tools ⽂件的顶部增加⼀个 列表变量 # 所有名⽚记录的列表 card_list = [] 注意 所有名⽚相关操作,都需要使⽤这个列表,所以应该 定义在程序的顶部程序刚运⾏时,没有数据,所以是 空列表
|