27.函数参数和返回值作用
1 | def test2(a, b, *args, **kwargs): |
函数参数和返回值作用
函数根据有没有参数一级有没有返回值,可以相互组合,一共有4种组合形式
1,无参数,无返回值
2,无参数,有返回值
3,有参数,有返回值
4,有参数,有返回值
函数:封装独立功能的代码,在需要时通过函数名被调用,可以直接访问全局变量
参数:外界希望在函数内部处理的数据
返回值:向外界报告函数的执行结果
定义函数时,是否接收参数,或者是否返回结果,是根据实际功能需求来决定的
1,如果函数内部处理的数据不确定,就可以将外界的数据以参数传递到函数内部
2,如果希望一个函数执行完成后,向外界汇报执行结果,就可以增加函数的返回值
返回值
元组可以包含多个数据,因此可以使用元组让函数一次返回多个值
如果函数返回的类型是元组,小括号可以省略
如果函数返回的类型是元组,同事希望单独处理元组中的元素,可以使用多个变量,一次接受函数的返回结果
注意:使用多个变量接收结果时,变量的个数应该和元组中的个数保持一致
(交换数据,右边的是一个元组,可以省去括号)
a, b = b, a
函数参数
参数是可变类型的,如果一个是使用方法,一个是使用赋值,则赋值的不变,使用方法的变
- 无论传递的参数是可变还是不可变,只要针对参数使用 赋值语句 ,会在函数内部修改局部变量的引用,不会影响到外部变量的引用
1 | def demo(num, num_list): |
执行结果
1 | 100 |
- 如果传递的参数是 可变类型,在函数内部,使用 方法 修改了数据的内容,同样会影响到外部的数据
1 | def demo(num_list): |
执行结果
1 | [1, 3, 5] |
- 列表变量使用 += 不会做相加再赋值的操作,本质上是在调用列表的extend方法
1
2
3
4不变
num_list = num_list +num_list
变
num_list += num_list 等价于 num_list.extend(num_list)
转载请注明来源,欢迎指出任何有错误或不够清晰的表达。可以邮件至gxnucgb@qq.com
文章标题:27.函数参数和返回值作用
文章字数:851
本文作者:陈桂彬
发布时间:2019-08-04, 14:17:52
最后更新:2019-08-21, 15:10:16
原始链接:https://github.com/gxnucgb/gxnucgb.github.io/2019/08/04/27-函数参数和返回值作用/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。