2018年12月11日 函数3-匿名函数

复制代码
l_s=[]

def test(n):
    n=int(n/2)
    l_s.append(n)
    print(l_s)
    if n==1:
        return l_s #注意这里 return l_s 不是test对应的return
    test(n)
  
print(test(10))
复制代码

 

函数作用域

复制代码
name="sxj"
def test1():
    name="abc"
    def test2():
        name="love"
        print(name)
    return test2#返回内存地址 如果+括号 代表运行test2
a=test1()#返回了test2的地址
print(a)
a()#内存地址+括号 代表开始运行
test1()() 同上面 a()
 
复制代码

函数运行的作用域和先前声明有关,和调用位置无关

 

 

匿名函数

lambda 行参:反馈值

func=lambda x:x+1  #定义匿名函数,如果print  则是内存地址
print(func(10))#lambda 自动return

匿名函数无复杂逻辑

复制代码
#匿名函数

#例子:字符串+_sb
f=lambda name:name+"_sb"
print("方法1",f("abc"))

g=lambda n:"%s_sb"%n
print("方法2",g("wsc"))

def change_name(name):
    print('方法3',name+"_sb")
change_name("lex")

h=lambda x,y,z:(x+y+z,x*y*z)#如果返回多个值,需要增加一个括号
print("用法2",h(4,2,3))
复制代码

 

posted @   小圣庄  阅读(129)  评论(0编辑  收藏  举报
编辑推荐:
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
阅读排行:
· 2025成都.NET开发者Connect圆满结束
· Ollama本地部署大模型总结
· langchain0.3教程:从0到1打造一个智能聊天机器人
· 在 VS Code 中,一键安装 MCP Server!
· 用一种新的分类方法梳理设计模式的脉络
点击右上角即可分享
微信分享提示