第八章节 函数Function
这一章是比较简单的“函数”模块,主要是教一些关于如何定义函数、运用函数的知识点。对于初学者打基础比较友好。
定义函数
-
函数基本组成就是:
- def aaa(): // print(‘aaa’) // aaa()
- 需要有def,def是告诉python你现在需要写一个 aaa()的函数。在函数中,你必须要有一个任务让python完成,否则这个函数是不成立的。
如何向函数传递信息
- 当我们给函数括号中定义了变量后,我们需要在函数里面的任务里用到这个变量。
- username是形参,而‘pigu’是实参。通俗的解释为,username只是一个非常形式的变量,只是函数中需要使用的一项信息。实参就是,我们会在实际的调用函数时会使用到这个变量,将“形式工作”变为“实际工作”
传递实参
位置实参
- 位置实参要求,实参的顺序必须要与形参的顺序相同(在不使用关键字实参时)
- 顺序必须一致,不然很可能会报错
关键字实参
- 关键字实参就是,不用在乎顺序,只需要告诉python你将形参定义为了什么实参
默认值
- 我们可以直接设置形参的默认值,这样在设置实参时,无需再理会是否还需要设置形参,即,设置默认之后可以省略相应的实参输入
- 第一个形参不能设置默认值,否则会报错
- 如果在设置实参时,更改了默认值,那么函数将以实参设置的为准。
PS: 如果设置了形参,那么在调用函数时,必须要要有实参,否则python会以找不到实参而报错
返回值
-
函数可以通过return 返回我们需要的东西,而不是将所有结果进行打印
- 我们要求函数只返回full name,没有要求要其他的,所以最后得到了全名
- 形参为空时,实参也就具有可选性,可填可不填
-
函数可以返回任何类型的值,字典、列表等其他复杂的数据结构都可以返回。
-
函数可以放在程序中任意一处中进行使用,且没有次数限制
传递列表
- 可以利用函数循环打印列表,这样在以后每次需要循环打印一个列表时直接调用函数即可。
传递任意数量实参
-
实参数量是任意多少的,只要位置或者关键字能够对的上就行。
- 需要注意的是,任意数量的实参必须放到最后才行
-
在形参中带上两个星号**表示创建一个空字典
-
在形参中带上一个星号*表示创建一个空元组,并将所有的接收到的值封装到这个元组中。
将函数储存在模块中
-
.py文件都可以算作一个模块,可以import这些文件。(需要注意文件路径)
-
模块导入
- import xxx (直接导入xxx.py文件)
- from xxx import aaa, bbb, ccc (从xxx文件中导入aaa,bbb, ccc函数)
- from xxx import aaa as a (表示aaa函数在接下来使用时,可以用a替代)
- from xxx import * (*号表示引入文件中的全部函数)
-
函数写法注意也要简介明了,便于读者看懂!!
Reference:
[1] Python Crash Course (A Hands-on, Project-Based Introduction to Programming). Eric Matthes