当前位置: 首页 > news >正文

Python学习笔记(八)——递归函数和匿名函数

递归函数:

概念

递归函数即自调用函数,在函数体内部直接或者间接地自己调用自己。即函数地嵌套调用是函数本身。

阶乘函数的构造:

def factorial2(n):
    if n==1:
        return 1
    return n*factorial(n-1)
print(factorial2(4))

 原理

递归函数包含两个部分:终止条件和递归步骤。

终止条件:表示递归的结束条件,用于返回函数值,不在递归调用

递归步骤:递归步骤把第n步的函数值的函数与第n-1步参数值的函数关联起来

设计递归函数时注意的问题

1、必须设置终止条件

2、必须保证收敛(递归调用所解决的子问题的规模必须小于原始递归的规模,否则也会导致递归函数的无限次调用)

3、必须保证内存和运算消耗控制在一定范围

匿名函数

概念

匿名函数是没有名称的函数,即不是用过def语句定义的函数,而使用lambda关键字。

格式

lambda arg1,arg2,...,argn:expression

只有一个表达式而不能使用if,for;计算结果看做是函数的返回值。

实例

在Python中函数也是对象,故函数对象可以赋值给变量。

add=lambda a,b:a+b


def add(a,b):
    return a+b
print(add(34,65))

前面的第一行和后面的两行时完全等价的。

再举一个例子,构造圆面积的小程序

import math
squre=lambda r:math.pi*r**2
print(squre(3))

 lambda函数有点抽象,实际上比之前使用的def构造函数要省时省力很多,多加练习,熟能生巧。

匿名函数:以参数传递作为实例

stus=[234,3,43,234,54,56,6,54,234,67]
ans=lambda x:stus[x]
print(ans(5))

 

 传送门:Python全套学习笔记

相关文章:

  • 微网站 网页/网站建设哪个公司好
  • 网站建设服务费入什么科目/国外比较开放的社交软件
  • 互联网网站建设计划书/白度指数
  • 汾阳做网站/小程序开发哪家更靠谱
  • 郑州营销网站托管公司/bt磁力猪
  • 松江b2c网站制作价格/网站推广投放
  • 这C语言代码,会让你发疯
  • IT部门全被裁?不懂业务,花了几百万开发的报表系统,根本没人看
  • JAVAEE中的线程安全的集合类(包括HashtableConcurrentHashMap)
  • Intel汇编-传送大量字符串
  • 服务发现、注册-搭建Nacos服务
  • python(5) softmax回归实例
  • python3-算法刷题-链表-更新中
  • C++知识点汇总
  • 【完全背包】完全背包模板套用
  • 蚌埠住了!一份硬核的阿里P8高并发实战笔记,吊打面试官不在话下
  • c++学习25qt(一)qt下载使用和简单的信号与槽介绍
  • joomla 反序列化漏洞利用