【Python】Python编程:从入门到实践读书会(8)
分类:
文章
•
2023-10-12 14:30:39
第八章 函数
8.1 定义函数
- def:函数定义
- function_name():括号里可以包含参数,也可以为空
- 冒号结尾
- """:标注文档字符串,python使用它们来生成有关程序中函数的文档
- 函数调用则直接调用function_name()及它需要的参数
8.1.1 向函数传递信息
- 定义函数时,在function_name()括号中指定需要传递的参数
8.1.2 实参和形参
- 形参:在函数定义中的那个参数
- 实参:实际调用函数所传递的参数
8.2 传递实参
8.2.1 位置实参
- 最简单的关联方式就是基于实参的顺序,实参的顺序对应形参
- 调用函数多次,只要再调用函数,传递所需的实参即可
8.2.2 关键字实参
- 关键字实参:是传递给函数的名称-值对
- 务必准确指定函数定义中的形参名:function_name(形参=实参,形参=实参......)
8.2.3 默认值
- 编写函数时,可以给每个形参指定默认值,调用函数时,若指定了实参,则使用实参,否则用形参默认值
- def function_name(形参,形参,形参=默认值......)
- 注意:使用默认值时,将没有默认值的形参放在前面,有默认值的形参放在后面,这让python能够正确地解读位置实参
8.2.4 等效的函数调用
- 使用哪种调用方式无关紧要,只要函数调用能生成你希望的输出就行
8.2.5 避免实参错误
8.3 返回值
8.3.1 返回简单值
8.3.2 让实参变成可选的
8.3.3 返回字典
8.3.4 结合使用函数和while循环
8.4 传递列表
8.4.1 在函数中修改列表
8.4.2 禁止函数修改列表
8.5 传递任意数量的实参
- *:*让python创建一个空元组,并将收到的所有实参值封装到元组中
8.5.1 结合使用位置实参和任意数量实参
- def function_name(形参,......,*形参)
8.5.2 使用任意数量的关键字实参
- **:两个**让python创建一个空字典,并将收到的所有名称-值对封装到字典中
8.6 将函数存储在模块中
8.6.1 导入整个模块
- 在 模块名.py 中写入你的function,导入模块时,import 模块名
- 导入模块后,即可使用模块中的方法:模块名.function_name()
8.6.2 导入特定函数
- from 模块名 import function_name
- 调用时直接使用function_name()
8.6.3 使用as给函数指定别名
- from 模块名 import function_name as 别名
- 后续使用,别名=function_name
8.6.4 使用as给模块指定别名
- import 模块名 as 别名
- 后续使用,别名=模块名
8.6.5 导入模块中的所有函数
- from 模块名 import *
- 这样使用调用函数,直接用函数名就可以
8.7 函数编写指南
- 指定描述性名称,且只使用小写字母和下划线
- 功能性注释
- 形参指定默认值,等号两边不要有空格
- import语句放在文件开头