第八章 函数

要执行函数定义的特定任务,可调用函数。

8.1   定义函数

定义名为greet_user()

 

 

 

 关键字def来告诉Python你要定义一个函数。这是函数定义,向Python指出函数名,还可能在括号内指出函数为其完成其任务需要的信息。

括号必不可少,定义以冒号结尾。紧跟冒号后面的缩进行构成了函数体"""显示简单的问候语"""处的文本被称为文档字符串的注释,描述函数用来做什么。

因为函数体中只有一行代码,这个函数唯一的工作就是打印Helloworld。

 

 

 

 

8.1.1   向函数传递信息

 

 

 

 

 

8.1.2  实参和形参

形参---函数完成其工作所需的意向信息。

实参---调用函数时传递给函数的信息。

 

 

 

 

 

 

8.2   传递实参

鉴于函数定义中可能包含多个形参,因此函数调用中也可能包含多个实参。象函数传递实参的方式很多,可使用位置实参,这要求实参的顺序和形参顺序保持相同。

也可以使用关键字实参,其中没个实参都由变量名和值组成。

8.2.1  位置实参

调用函数时,Python必须将函数调用中的没个实参都关联到函数定义的一个形参。最简单的关联方式是基于实参的顺序。这种关联方式叫做位置实参。

 

 

 

 2.位置实参的顺序很重要

 

 

 

 

8.2.2  关键字实参

关键字实参是传递给函数的名称-值对。关键字实参不考虑函数调用中实参的顺序。

 

 

 

 

8.2.3   默认值

编写函数时,可给没个形参制定默认值。在调用函数中给形参提供了实参时,Python将使用制定的实参值;否则,将使用形参的默认值。

8.2.4 等效的函数调用

8.2.5  避免实参错误

 

 

 

8.3  返回值

函数并非总是直接显示输出,相反,它可以处理一些数据,并返回一个或一组值。函数的返回的值被称为返回值

 

 

 

 

 

 

8.3.3  返回字典

 

 

 

 

 

8.3.4  结合使用函数和while循环

 

 

 

 

8.4  传递列表

 

 

 

8.4.1  在函数中修改列表

 

 

 

 8.4.2  禁止函数修改列表

将列表以切片的形式保存(类似于中间变量),对中间变量进行操作,不改变原有列表的属性值。

.

 

 

 

 

8.5 传递任意数量的实参

使用形参*xxxx,讲收到的实参封装在一个元组中。

 

 

 

 

 

 

 

 

8.5.1  结合使用位置实参和任意数量实参

如果要让函数接受不同类型的实参,必须在函数定义中将接纳任意数量实参的形参放在最后。

 

 

 

 

 

 

8.5.2    使用任意数量的关键字实参

预先不知道传递给函数的会是怎样的消息,这种情况下,可将函数编写成能够接受任意数量的键值对--调用语句提供多少就接受多少。

 

 

 

 

8.6  将函数存储在模块中

函数的优点之一:使用它们可将代码块与主程序分离。

通过将函数存储在独立的文件中,可隐藏程序代码的细节。将重点放在程序的高层逻辑上。还能让你在众多不同的程序中重用函数。

8.6.1 导入整个模块

要让函数是可导入的,得先创建模块。模块的扩展名为.py的文件。包含要导入到程序中的代码。

 

 

 

 8.6.3   使用as给函数指定别名

 

 

 

8.6.4  使用as给模块指定别名

 

 

 

8.6.5  导入模块中的所有函数

 

posted @ 2019-10-31 18:07  九层  阅读(122)  评论(0编辑  收藏  举报