1、了解递归

1.1递归的作用

① 递归作为一种编程思想, 在我们日常开发中,若需要遍历一个文件夹下面所有的文件,

为了化简代码

,更加高效,通常会使用递归来实现;

② 帮我们完成一写高级算法,例如:快速排序等。

1.2  递归的特点

函数内部自己调用自己,且必须要有出口。

1.3 应用练习 体会递归

# 应用练习:求解3以内数字累加和:3 + 2 + 1

# 6 = 3 + 2以内数字累加和

# 2以内数字累加和 = 2 + 1以内数字累加和

# 1以内数字累加和 = 1

def sum_numbers(num):

# 1.如果是1,直接返回1 -- 出口

if num == 1:

return 1

# 2.如果不是1,重复执行累加:当前数字 + 当前数字-1累加和

result = num + sum_numbers(num-1)

# 3.返回累加结果

return result

sum_result = sum_numbers(3)

print(sum_result)

# 体会递归特点:函数内部自己调用自己;必须要有出口。

练习后发现若未设置出口,执行后会报错:超出最大递归深度,因此在以后的递归书写中要注意书写递归的出口。

2、lambda

2.1 作用

简化代码量

,节省计算机的内存开销。如果一个函数有一个返回值,并且只有一句代码,可以使用 lambda简化。

2.2 lambda语法

lambda 参数列表 : 表达式

需要注意的是:

① lambda表达式的参数可有可无,函数的参数在lambda表达式中完全适用。

② lambda函数能接收任何数量的参数但只能返回一个表达式的值。

应用练习:

# 练习:返回数100

# 1、函数

def fn1():

return 100

print(fn1)

print(fn1())

# 2、lambda表达式 匿名函数

# lambda 参数列表 : 表达式

fn2 = lambda: 100

print(fn2) #返回的是lambda内存地址

# 100返回值,调用函数

print(fn2())

通过练习后对比发现,lambda表达式可以简化代码量;直接打印lambda表达式,输出的是此lambda的内存地址。

2.3 lambda 参数

lambda的参数形式与之前所学的函数参数

函数的参数介绍及使用

基本一致,这里作回顾总结。

# lambda 参数

# 1、无参数

fn1 = lambda: 100

print(fn1())

# 2、一个参数

fn2 = lambda a: a

print(fn2('Python'))

# 3、默认参数/缺省参数

fn3 = lambda a, b, c = 10: a + b + c

print(1, 2)

print(1, 2, 3)

# 4、可变参数*args

fn4 = lambda *args: args

print(fn4(10, 20))

print(fn4(10, 20, 30, 40))

# 注意:这里的可变参数传入到lambda之后,返回值为元组。

# 5、可变参数**kwargs

fn5 = lambda **kwargs: kwargs

print(fn5(name='lisa'))

print(fn5(name='Lisa', age=18))

python入门与提高实践,Python基础06:功能增强与实践,基础知识,学习,函数,加强,及,练习...相关推荐

  1. 01 -Python入门- Lesson1 为何要学习 Python 编程

    01 Python入门 Lesson1 为何要学习 Python 编程 文章目录 01 Python入门 Lesson1 为何要学习 Python 编程 1.欢迎学习这门课程! 2.课程概述 Less ...

  2. python入门(1)python的前景

    python入门(1)python的前景 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于 ...

  3. python入门(7)Python程序的风格

    python入门(7)Python程序的风格 Python采用缩进方式,写出来的代码就像下面的样子: # print absolute value of an integer: a = 100 if ...

  4. 《Python入门》Linux 下 Python Web开发环境搭建笔记

    之前写过 Windows 7下Python Web开发环境搭建笔记,今天写一下在Linux系统下搭建Python Web的开发测试环境. 我使用的系统是:ubuntu 14.04 server,Cen ...

  5. python入门与提高实践 老男孩_跟老男孩学Linux运维:MySQL入门与提高实践

    第10章 MySQL数据库日志知识与企业应用实践 10.1 MySQL常用日志文件知识 10.2 错误日志的介绍与配置 10.3 普通查询日志的介绍与配置 10.4 二进制日志的介绍与配置 10.5  ...

  6. 编程语言python入门要电脑什么配置能带动-对于几乎是零基础的人,直接学 Python 编程合适吗?...

    在众多高大上的自学指导中,尝试做一股清流,把要讲清楚的都讲清楚,除了一堆资料之外,你能在学之前就有一个非常明显的结果倾向. 本文以<小白带你学Python>为内容方向,试图在繁杂的信息里, ...

  7. 《Python入门到精通》Python基础语法

    「作者主页」:士别三日wyx   此文章已录入专栏<Python入门到精通>   2021最新版Python小白教程,针对0基础小白和基础薄弱的伙伴学习 Python基础语法 1. Hel ...

  8. python入门教程非常详细-Python 基础教程

    关于脚本第一行的 #!/usr/bin/python 的解释,相信很多不熟悉 Linux 系统的同学需要普及这个知识,脚本语言的第一行,只对 Linux/Unix 用户适用,用来指定本脚本用什么解释器 ...

  9. python入门教程非常详细-Python编程入门教程:从入门到高级,非常详细

    本文的资料和内容是我下载的,觉得非常有用,于是转过来大家瞧瞧: 这里给初学Python的朋友提供一些建议和指导吧.大神请无视, 俗话说:授人以鱼不如授人以渔.所以我这里只是阐述学习过程,并不会直接详细 ...

  10. python入门教程非常详细-Python该怎么入门?Python入门教程(非常详细)

    Python要学多久可以学会,达到精通呢? 任何知识都是基础入门比较快,达到通晓的程序是需求时日的,这是一个逐渐激烈的进程. 通晓任何一门编程语言,都需求通过大量的实践来积累经验,解决遇到的各种疑难问 ...

最新文章

  1. 饿了么UI框架element的表格多个弹窗问题
  2. 关于“航天•轻舟机器人国赛技术交流会”邀请函
  3. angular中集中页面传参(我只是知识的搬运工)
  4. 解决Spring Cloud中Feign/Ribbon第一次请求失败的方法
  5. wireshark如何对指定ip进行嗅探
  6. 计算机专业教学工作小结,计算机专业教学的工作总结
  7. login.html id=9453,SN100C Sublizenzierung und Aufnahme in die ISO 9453
  8. arm nodejs_ARM发布Cortex A78C增强版大核架构
  9. java工作面试必备知识 Java常用类库与技巧
  10. webex无法用计算机呼叫,WebEx使用指南.PDF
  11. 系统架构设计师-考试大纲
  12. 鸿蒙分布式内核,鸿蒙系统:微内核,分布式
  13. auto semicolon insertion 自动分号补齐的坑
  14. 保姆级教程!Windows右下角扬声器有红叉,点击声音设置输出显示“未安装任何音频输出设备”?
  15. ICP经营许可证需要多久能够下证
  16. 云讯健身管理系统-9
  17. 双非计算机保研北邮经验贴|纯干货(面向平民)
  18. jquery input的value赋值
  19. 财富可敌42个国家:金融巨鳄索罗斯的传奇
  20. 无人便利店系统代理发展前景分析

热门文章

  1. C++ auto 关键字的使用
  2. bad src image pointers
  3. elasticsearch collapse折叠聚合
  4. ModuleNotFoundError: No module named ‘config‘
  5. 相似图片检测:感知哈希算法之aHash,dHash,pHash的Python实现
  6. OSError: exception: access violation writing and reading
  7. Imagemagick常用指令
  8. 主梁弹性模量计算_收藏 | 钢结构计算公式
  9. python中io.textio_Python文件读写概述(IO操作、文件读写、stringiobytesio、序列化),python,的,小,总结,StringIOBytesIO...
  10. 安卓 python termux_Android Termux 安装 Linux 就是这么简单