自学整理记录,大神见笑
函数参数和返回值的作用
- 如果函数内部处理的数据不确定,就可以添加函数的参数
- 如果希望函数执行完成后,向外界汇报,就增加返回值
函数的返回值进阶
- 如果需要返回多个数据,可用元组返回
- 返回多个数据时,可不用写定义元组的小括号
- 如果返回元组,同时希望可以单独处理元组中的元素,可以使用多个变量,一次性接收函数的返回结果,注意:变量的个数要和元组中元素个数相同
def sum_sum():
return "1", "2", "3"
one, two, three = sum_sum()
- 由上一条得出一种交换变量值的方法
a,b = b,a
- 注:等号后面其实是元组,只是元组的小括号可以省略
函数的参数进阶
- 无论传递的参数是可变还是不可变,只要针对参数使用赋值语句,会在函数内部修改局部变量的引用,不会影响到外部变量的引用
- 如果传递的参数是可变类型,在函数内部,使用方法修改了数据的内容,会影响到外部的数据
- 列表使用+=时,会调用extend方法
缺省参数
- 定义函数时,可以给某个参数指定默认值,具有默认值的参数就叫做缺省参数
- 调用函数时,如果没有传入缺省参数的值,则在函数内部使用定义函数时的默认值
- 技巧:将常见的值设置为参数的缺省值,从而简化函数的调用
指定函数的缺省值
- 需要在函数的形参处指定最常见的值作为默认值
- 注意:缺省参数必须写在参数列表的末尾
- 注意:如果有多个缺省参数,需要传参时,需要写出参数名,这样解释器才能确定对应关系
多值参数
- 用于参数个数不确定
- 参数名前增加一个*可以接收元组;参数名前增加两个*可以接收字典
- 元组和字典拆包,即在传递的时候元组前加一个*,字典前加两个*
函数的递归
- 函数内部自己调用自己
- 函数内部代码相同,只是针对参数不同,会有不同的处理结果
- 当参数满足一个条件时不再执行,即递归的出口,很重要,否则死循环,会报错ResouceError
网友评论