函数和递归

自学整理记录,大神见笑

函数参数和返回值的作用

  • 如果函数内部处理的数据不确定,就可以添加函数的参数
  • 如果希望函数执行完成后,向外界汇报,就增加返回值

函数的返回值进阶

  • 如果需要返回多个数据,可用元组返回
  • 返回多个数据时,可不用写定义元组的小括号
  • 如果返回元组,同时希望可以单独处理元组中的元素,可以使用多个变量,一次性接收函数的返回结果,注意:变量的个数要和元组中元素个数相同

def sum_sum():
 return "1", "2", "3"


one, two, three = sum_sum()

  • 由上一条得出一种交换变量值的方法

a,b = b,a

  • 注:等号后面其实是元组,只是元组的小括号可以省略

函数的参数进阶

  • 无论传递的参数是可变还是不可变,只要针对参数使用赋值语句,会在函数内部修改局部变量的引用,不会影响到外部变量的引用
  • 如果传递的参数是可变类型,在函数内部,使用方法修改了数据的内容,会影响到外部的数据
  • 列表使用+=时,会调用extend方法

缺省参数

  • 定义函数时,可以给某个参数指定默认值,具有默认值的参数就叫做缺省参数
  • 调用函数时,如果没有传入缺省参数的值,则在函数内部使用定义函数时的默认值
  • 技巧:将常见的值设置为参数的缺省值,从而简化函数的调用

指定函数的缺省值

  • 需要在函数的形参处指定最常见的值作为默认值
  • 注意:缺省参数必须写在参数列表的末尾
  • 注意:如果有多个缺省参数,需要传参时,需要写出参数名,这样解释器才能确定对应关系

多值参数

  • 用于参数个数不确定
  • 参数名前增加一个*可以接收元组;参数名前增加两个*可以接收字典
  • 元组和字典拆包,即在传递的时候元组前加一个*,字典前加两个*

函数的递归

  • 函数内部自己调用自己
  • 函数内部代码相同,只是针对参数不同,会有不同的处理结果
  • 当参数满足一个条件时不再执行,即递归的出口,很重要,否则死循环,会报错ResouceError
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,739评论 0 38
  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 19,235评论 17 410
  • 学习重新构建,用难得来代替应该,焦虑和烦恼被理解和尊重替代,感受到的是正向的期待,感受到的是生活的美好。 难得早...
    燕子_1f2c阅读 708评论 0 0
  • 时间如流水,一直与我们默默同行,流淌的岁月里,任何的事与物都会成为过去,一天天的看着潮起潮落,看着昨天,迎接明天。...
    清溪笔录阅读 3,269评论 0 0
  • 前几日,公司组织团队成立以来的第一次团建聚餐,大家都提前安排好了手头工作,欣然赴约,饭桌上,大家觥筹交错,把酒言欢...
    梅雪心语阅读 3,294评论 10 11