6.8模块(课件)-《程序设计基础(Python)》同步教学(人民邮电版)

2024-08-19
| 19页
| 232人阅读
| 16人下载
普通

内容正文:

第6章 函数与模块 1 学习目标/Target 了解函数,能够说出函数的概念以及好处 掌握函数的定义与调用,能够正确地定义并调用函数 掌握函数参数的传递方式,能够通过多种方式给函数的参数传递数据 掌握函数的返回值,能够根据需要使用return语句返回函数处理结果 掌握变量作用域,能够说出全局变量和局部变量的特点 2 学习目标/Target 掌握递归函数的使用,能够运用递归函数解决阶乘的问题 掌握匿名函数的使用,能够运用匿名函数简化简单函数的定义 掌握模块的导入与使用,能够通过不同语句导入模块并使用模块的内容 掌握模块的变量,能够归纳变量__all__和__name__的作用 3 章节概述/ Summary 程序开发过程中,随着需要处理的问题变得越来越难,程序也会变得越来越长。冗长的程序牵扯的情况比较复杂,这不仅增加了阅读和理解的难度,也不利于后期对程序的维护与二次开发。函数和模块的出现便解决这些问题,它们为开发人员提供了丰富的工具和自由度,使得开发各种复杂的程序变得更加简单和高效。本章将详细介绍函数的相关知识,并简要介绍一些关于模块的知识。 4 目录/Contents 01 函数概述 函数的基础知识 函数的参数传递 02 03 函数的返回值 04 5 目录/Contents 05 变量作用域 实例:智能聊天机器人 函数的特殊形式 06 07 模块 08 6 模块 6.8 7 6.8.1 模块的导入和使用 1. 使用import语句导入模块 import语句支持一次导入一个模块,也支持一次导入多个模块。 使用import语句导入模块的语法格式如下。 import 模块1, 模块2, … 例如,导入Python中内置的模块random和time,代码如下: import time # 导入一个模块 import random, time # 导入多个模块 6.8.1 模块的导入和使用 导入模块以后,可以通过“.”使用模块中的内容,包括全局变量、函数或类。 使用模块内容的语法格式如下。 模块名.变量名/函数名()/类名  例如,使用time模块中sleep()函数,示例如下: time.sleep(1) 使用as关键字给模块起别名的语法格式如下。 import 模块名 as 别名 1. 使用import语句导入模块 6.8.1 模块的导入和使用 使用import语句导入模块后,每次使用模块时都需要添加“模型名.”前缀,非常繁琐。为了减少这样的麻烦,Python提供了另外一种导入模块的语句from-import-。使用from-import-方式导入模块之后,无需添加前缀,可以像使用当前程序中的内容一样使用模块中的内容。使用from-import-语句导入模块的语法格式如下。 from 模块名 import 变量名/函数名/类名 例如,导入time模块中的sleep()函数和time()函数,具体代码如下。 from time import sleep, time 2. 使用from-import-语句导入模块 6.8.1 模块的导入和使用 如果希望一次性导入模块中的全部内容,可以将from...import...语句中import后面的内容替换为通配符“*”。导入模块中全部内容的语法格式如下。 from 模块名 import * 例如,导入time模块中的全部内容,具体代码如下。 from time import * 2. 使用from-import-语句导入模块 6.8.1 模块的导入和使用 from-import-语句也支持为模块或模块中的内容起别名,其语法格式如下。 from 模块名 import 变量名/函数名/类名 as 别名 例如,给time模块中的sleep()函数起别名为sl,具体代码如下。 from time import sleep as sl sl(1) # sl为sleep()函数的别名 2. 使用from-import-语句导入模块 6.8.2 模块的变量 1. __all__变量 Python模块的开头通常会定义一个__all__变量,该变量的值实际上是一个列表,列表中包含的元素决定了在使用from-import *语句导入模块后可以使用模块的哪些内容。 如果__all__中只包含模块中的部分内容,那么from-import *语句只会将__all__中包含的部分内容导入程序。 6.8.2 模块的变量 下面创建两个模块calc.py和test.py,分步骤演示如何通过__all__变量限制导入这两个模块的内容,具体步骤如下。 (1)创建模块calc.py,该模块中包含一个__all__变量和四个计算两个数的四则运算的函数,具体代码如下: # 定义变量__all__,用于限制导入模块的内容 __all__ = ["add", "subtract"] def add(a, b): return a + b def subtract(a, b): return a - b def multiply(a, b): return a * b def divide(a, b): if (b): return a / b else: print("error") 1. __all__变量 6.8.2 模块的变量 下面创建两个模块calc.py和test.py,分步骤演示如何通过__all__变量限制导入这两个模块的内容,具体步骤如下。 (2)创建模块test.py,在该模块中通过from ... import *语句导入calc.py模块,并调用该模块中的add()、subtract()、multiply()和divide()函数。 from calc import * # 导入calc.py模块 print(add(2, 3)) print(subtract(2, 3)) print(multipty(2, 3)) print(divide(2, 3)) 1. __all__变量 6.8.2 模块的变量 下面创建两个模块calc.py和test.py,分步骤演示如何通过__all__变量限制导入这两个模块的内容,具体步骤如下。 (3)运行test.py文件,结果如下所示: 5 -1 Traceback (most recent call last): File " D:\PythonProject\chapter06\test.py", line 4, in <module> print(multipty(2, 3)) NameError: name 'multipty' is not defined 1. __all__变量 6.8.2 模块的变量 2. __name__变量 大型项目通常由多名开发人员共同开发,每名开发人员负责不同的模块。为了保证代码在整合项目后可以正常运行,开发人员通常会编写一些测试代码进行测试。然而,对整个项目而言测试代码是无用的。为了避免项目执行这些测试代码,Python为模块加入了__name__变量。 6.8.2 模块的变量 2. __name__变量 __name__变量通常与if条件语句一起使用,若模块是当前运行的模块,则__name__的值为__main__;若模块被其他模块导入,则__name__的值为模块名。 下面以定义的calc.py模块为例,演示__name__变量的用法。在calc.py模块中增加下列代码: if __name__ == "__main__": # __name__的值为__main__ print(multiply(3, 4)) print(divide(3, 4)) 本章小结 本章主要介绍了函数和模块,首先介绍了函数的概念以及基本知识,包括函数的定义和调用,其次介绍了函数参数传递和函数的返回值,然后介绍了变量作用域、匿名函数和递归函数,最后介绍了模块的相关内容,包括模块的导入与使用、模块的变量。希望通过本章的学习,读者能够理解程序中使用函数的优越性,可以按照需求灵活定义与调用函数,并能够在程序中熟练导入与使用模块。 本 章 小 结 19 $$

资源预览图

6.8模块(课件)-《程序设计基础(Python)》同步教学(人民邮电版)
1
6.8模块(课件)-《程序设计基础(Python)》同步教学(人民邮电版)
2
6.8模块(课件)-《程序设计基础(Python)》同步教学(人民邮电版)
3
6.8模块(课件)-《程序设计基础(Python)》同步教学(人民邮电版)
4
6.8模块(课件)-《程序设计基础(Python)》同步教学(人民邮电版)
5
6.8模块(课件)-《程序设计基础(Python)》同步教学(人民邮电版)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。