博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python-Lambda表达式、匿名函数、递归函数
阅读量:4124 次
发布时间:2019-05-25

本文共 1287 字,大约阅读时间需要 4 分钟。

Lambda表达式和匿名函数

       Lambda表达式可以用来声明匿名函数。Lambda函数是一种简单的、在同一行中定义函数的方法。Lamda函数实际生成了一个函数对象

       Lambda表达式只运行包含一个表达式。不包含复杂语句,该表达式的计算结果就是函数的返回值

       语句:lambda arg1,a,rg2,arg3…:<表达式>

Arg1/arg2/arg3为函数的参数。<表达式>相当于函数体。运算结果是:表达式的运算结果

#测试lambda函数

f=lambda a,b,c:a+b+c #匿名函数,默认return返回
print(f)
print(f(1,2,3))
def test01(a,b,c):
   
print("*"*3)
   
return a+b+c
print((test01(2,3,4)))
g = [
lambda a:a*2,lambda b:b*3]
print(g[0](6))
h = [test01,test01,test01]
#函数也是对象
print(h[0](5,6,7))

 

Eval函数

       功能:将字符串str当成有效的表达式来求值并返回计算结果

       语法:eval(source[,globals[,locals]])->value

       参数:source:一个Python表达式或函数compile()返回的代码对象

                Global:可选。必须是dictionary

                Local:可选。任意映射对象

#测试eval函数

s = "print('abcd')"
eval(s) #用于打印字符串
a=10
b=20
c=eval("a+b") #用于计算数值
print(c)
dict1 =
dict(a=100,b=200)
d=
eval("a+b",dict1)  #取字典对象中的a,b

 

递归函数

       自己调用自己的函数,在函数体内直接或间接的自己调用自己

       每个递归函数必须包含两个条件:

  • 终止条件:表示什么时候结束。一般用于返回值,不再调用自己
  • 递归步骤:把第n步的值和第n-1步相关联

 

 

#测试递归函数的基本原理

def test01():
   
print("test01")
    test02()
def test02():
   
print("test02")
test01()
def test03():
   
print("test03")#该方法无限制的开启栈帧stack frame,直到栈空间满了,程序崩溃;后进先出
   
test03()
   
print("###"#信息不打印,上一步方法未执行完
test03()  #执行报错,Process finished with exit code 1,退出码1,无限制的调用,正常情况是0

 

结束条件

 

#测试递归函数的基本原理

def test01(n):
   
print("test01",n)
   
if  n==0:
       
print("over")
   
else:
        test01(n-
1)
   
print("test01***",n)
def test02():
   
print("test02")
test01(
4)

 

使用递归计算阶乘

转载地址:http://tmapi.baihongyu.com/

你可能感兴趣的文章
常用认证技术
查看>>
Web服务器脚本技术
查看>>
数据库备份和复制
查看>>
解析:轻松了解分布式数据库的主要特点
查看>>
分布式数据库概述
查看>>
使用Visual Studio.NET调用WebService
查看>>
电子公文技术获得突破 方正CEB渐成标准
查看>>
进程间通信
查看>>
项目管理9大知识体系与5个具体阶段
查看>>
项目管理感触-最难做的就是项目经理
查看>>
如何做好一个项目
查看>>
高效项目的七个习惯
查看>>
SQL语句小结
查看>>
sqldatareader 和 sqldataadapter 、dateset的比较
查看>>
MS SQL Server查询优化方法
查看>>
SQL Server 2005利用分区对海量数据的处理
查看>>
以端正的态度学习业务知识
查看>>
考试成绩随想
查看>>
基于多元实在论的软件设计方法
查看>>
随想-知识点
查看>>