函数进阶
函数进阶
1.函数多返回值
语法:
1 | def test_return(): |
- 与c语言不同。Python可以按照返回值的顺序,写对应顺序的多个变量接收即可。变量之间用逗号隔开。支持不同类型的数据return。
2. 函数多种传参方式
2.1 位置参数
这个就是我们之前一直学的东西。
2.2 关键字参数
就是在传参的时候指定好形式参数的名字。
- 混用的时候,如果位置参数放在后面,就会报错。
2.3 缺省参数
就是相当于默认参数
- 默认参数必须放在最后,放在前面会报错。
2.4 不定长参数
- 位置参数的不定长,就是说参数的个数可以是任意的。
- 参数那边必须加一个*号标志一下。
- 关键字传递的不定长要两个*号。
- 出入的参数的书写格式必须是键值对
- 传递进去的参数就会作为一个字典存在。相当于**kwaargs就是一个字典对象了。(kwargs也就是 key - words)
2.3 函数作为参数传递
之前的参数都是数据。
现在就是把函数本身作为一个参数传入另外一个函数。
这其实是计算逻辑的传递,而不是数据的传递。任何逻辑都可以自行定义并且作为函数传入。函数作为参数传入的本质是传入这个函数的代码逻辑。
普通的数据传入是,逻辑已经确定了,只是数据不确定。函数作为数据传入,它指的是计算的数据已经确定,但是计算数据的逻辑是不确定的。
函数传入的作用:1. 传入计算逻辑,而非传入数据。
- 个人总结:这里和以前学过的在一个函数中调用另外一个函数是不一样的!!!!因为函数作为参数了,你传入不同的函数进去,数据已经定死了,但是执行的逻辑就变了。记住这里的compute是你传入的函数的别名,传入不同的函数,compute就不同!!
2.4 lambda匿名函数
- 函数体只能写一行!!不能写多行
- lambda是不写return语句的,默认是直接return的。
示例:
- 匿名函数不能重复使用,有什么用呢?只是如果你的函数的代码只有一行,这时候,为了简单,就不用再去重新定义一个函数了。(真实应用中还是很常用的)
- Title: 函数进阶
- Author: CM
- Created at: 2023-07-21 19:36:04
- Updated at: 2023-07-21 21:02:01
- Link: https://redefine.ohevan.com/2023/07/21/函数2-0/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments