您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:Python 函数简单易理解版

51自学网 2021-10-30 22:17:08
  python
这篇教程Python 函数简单易理解版写得很实用,希望能帮到您。

Python 函数

一、什么是模块化程序设计?

  • 在进行程序设计时将一个大程序按照功能划分为若干小程序模块
  • 每个小程序模块完成一个确定的功能
  • 并在这些模块之间建立必要的联系,通过模块的互相协作完成整个功能

1、 编写流程——自顶向下

  • 在设计较复杂的程序时,一般采用自顶向下的方法,将问题划分为几个部分,各个部分再进行细化,直到分解为较好解决问题为止
  • 采用模块化设计编写程序时,不是一开始就逐条编写程序代码
  • 而是首先用主程序、子程序等框架把软件的主要结构和流程描述出来
  • 以功能块为单位进行程序设计,实现其求解的方法称为模块化

2、函数在模块化设计的作用

利用函数,不仅可以实现程序的模块化,使得程序设计更加简单和直观,从而提高了程序的易读性和可维护性
而且还可以把程序中经常用到的一些计算或操作编写成通用函数,以供随时调用

二、实战

1、功能简介

实现一个通讯录管理程序,使用函数来实现程序,采用模块化的程序设计方法:

  • 划分通讯录程序的功能模块,使用函数实现相应的功能
  • 首先实现整体框架,然后再细化每个功能细节
  • 最终的程序由多个函数构成,每个函数实现一个单一的功能,整个程序的结构清晰

2、通讯录功能简介

通讯录包含若干联系人,每个联系人包括:姓名、地址、电话 3 项内容。程序提供 4 项基本功能:

  • 增加联系人: 用户输入姓名、地址、电话等信息,将信息保存在一个列表中
  • 列出联系人: 打印输出所有联系人的信息
  • 查询联系人: 用户输入联系人姓名,打印输出该联系人的信息
  • 删除联系人: 用户输入联系人姓名,从通讯录中删除该联系人

3、主程序入口

通过命令行界面实现以上功能,程序 addr-manage.py 运行时首先打印一个菜单

 //路径1. create person2. list all persons3. query person4. delete person5. quitEnter a number(1-5): 

4、主程序包含以下功能

5、用什么数据结构来描述一个联系人

  • 字典最佳
  • 因为联系人可能会有很多个属性
  • 假设联系人有三个属性

 

字典表示联系人:

{    "name": "张三",    "address": "南京",    "phone": "12306"}

那么这是一个联系人

6、用什么数据结构来描述一个通讯录

通讯录会有多个联系人,所以会有多个字典,可以通过列表来表示通讯录

zhangSan = {'name': '张三', 'address': '南京', 'phone': '12306'}liSi = {'name': '李四', 'address': '北京', 'phone': '10086'}persons = [zhangSan, liSi]

一个函数对应一个功能:

总的代码结构:

# 通讯录persons = []# 添加联系人def create_person():    pass# 列出联系人def list_person():    pass# 查出联系人def query_person():    pass# 删除联系人def delete_person():    pass# 主函数def main():    passmain()

 三、函数实现

1、主函数代码实现

  • 获取用户输入的选择
  • 根据选择执行对应的功能
  • 不断重复第一步
# 主函数def main():    while True:        # 获取用户输入        input_str = input("1. create person/n"                          "2. list all persons/n"                          "3. query person/n"                          "4. delete person/n"                          "5. quit/n"                          "Enter a number(1-5): "                          )        if input_str == "1":            create_person()        elif input_str == "2":            list_person()        elif input_str == "3":            query_person()        elif input_str == "4":            delete_person()        elif input_str == "5":            break        else:            print("无效选择") 

2、添加联系人代码实现

# 添加联系人def create_person():    name = input("请输入姓名:")    address = input("请输入地址:")    phone = input("请输入手机:")    if name and address and phone:        person = {            "name": name,            "address": address,            "phone": phone        }        persons.append(person) 

3、列出联系人代码实现

# 列出联系人def list_person():    for person in persons:        print(person) 

4、查出联系人代码实现

# 查出联系人def query_person():    name = input("请输入需要查找的姓名:")    for person in persons:        if name == person["name"]:            print(person)

5、删除联系人代码实现

# 删除联系人def delete_person():    name = input("请输入需要查找的姓名:")    for person in persons:        if name == person["name"]:            persons.remove(person)

6、运行效果

1. create person2. list all persons3. query person4. delete person5. quitEnter a number(1-5): 1请输入姓名:poloyy请输入地址:广州荔湾区请输入手机:135011111111. create person2. list all persons3. query person4. delete person5. quitEnter a number(1-5): 2{'name': 'poloyy', 'address': '广州荔湾区', 'phone': '13501111111'}1. create person2. list all persons3. query person4. delete person5. quitEnter a number(1-5): 3请输入需要查找的姓名:poloyy{'name': 'poloyy', 'address': '广州荔湾区', 'phone': '13501111111'}1. create person2. list all persons3. query person4. delete person5. quitEnter a number(1-5): 4请输入需要查找的姓名:poloyy1. create person2. list all persons3. query person4. delete person5. quitEnter a number(1-5): 21. create person2. list all persons3. query person4. delete person5. quitEnter a number(1-5): 5Process finished with exit code 0

到此这篇关于Python 函数简单易理解版的文章就介绍到这了,更多相关Python 函数内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


教你使用python搭建一个QQ机器人实现叫起床服务
python中使用 unittest.TestCase单元测试的用例详解
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。