在这个“Python实现简单通讯录”的实例中,我们主要学习了如何使用Python来创建一个基本的通讯录应用程序。这个应用程序能够帮助用户存储、管理和查询联系人的信息。以下是对这个实例涉及的知识点的详细说明: 1. **文件操作**: - 文件的打开与关闭:在Python中,使用`open()`函数可以打开文件,例如`file = open("D:/通讯录.txt", "a", encoding="UTF-8")`用于以追加模式打开文件,并设置编码为UTF-8。关闭文件使用`file.close()`方法。 - 文件的读写:在`add_info()`函数中,使用`file.write()`方法将联系人信息写入文件,而在`show_info()`函数中,使用`for line in file:`遍历文件内容进行读取。 2. **面向对象编程**: - 定义类:实例中定义了一个名为`TelephoneBook`的类,该类包含了通讯录的主要功能。 - 类的方法:`show_menu()`、`add_info()`、`show_info()`和`main()`是类中的方法,分别对应显示菜单、新增联系人、查询联系人和主程序流程。 - 类的属性:虽然没有明确表示,但可以假设`TelephoneBook`类可能有存储联系人信息的内部结构,如列表或字典。 3. **用户交互**: - 使用`input()`函数获取用户的输入,例如在`add_info()`和`show_info()`中获取联系人的信息或查询的姓名。 - 显示提示信息:通过`print()`函数向用户展示操作菜单和反馈信息。 4. **异常处理**: - 使用`try-except`语句处理可能出现的错误,例如文件打开失败或关闭失败时的异常。 5. **程序流程控制**: - `while`循环:在`main()`函数中,通过`while True`循环持续显示菜单并根据用户选择执行相应操作,直到用户选择退出(选择0)。 - 条件语句:`if choose == 1:`和`if choose == 2:`检查用户的选择并调用相应方法。 6. **字符串处理**: - 在`add_info()`中,使用`f-string`格式化字符串,将用户输入的信息整合成一条记录并写入文件。 - 在`show_info()`中,使用`strip()`去除行尾的换行符,然后使用`split(",")`将读取的行拆分为各个字段。 7. **数据存储**: - 联系人信息被保存在文本文件“通讯录.txt”中,以逗号分隔,便于读取和解析。 - 这种简单的文本文件存储方式适合小型应用,但对于大型或复杂的应用,通常会使用数据库来存储数据。 通过这个实例,我们可以锻炼Python的基本语法和文件操作能力,同时了解面向对象编程的概念。此外,它还提供了一个简单的用户交互模型,有助于理解如何在实际项目中实现用户界面。然而,这个通讯录程序还有改进的空间,比如增加删除联系人、更新联系人信息、搜索多个条件等功能,以及使用更高效的数据结构和更完善的错误处理机制。
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/release/download_crawler_static/88606180/bg1.jpg)
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 7
- 资源: 2
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- 1111111111111111111112222222222222222
- 一个qtlog输出的工程,会按照分钟的频率输出log
- yolov10玩手机打电话检测训练权重+1万玩手机打电话检测数据集
- yolov9玩手机检测,训练好的权重,可以直接使用,并附有10000左右数据集
- piCorePlayer9.2.0-64Bit.img.xz
- 如何利用大模型技术在DT浏览器查空气质量
- C语言程序设计-学生成绩管理系统
- 最新UI界面发卡源码+多语言+多个主流钱包+搭建教程.zip
- KeymouseGo-简单好用的鼠标轨迹记录-循环运行脚本
- 2024全新版视频短剧SAAS系统/影视短剧小程序/短剧APP小程序源码
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)