• 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))

     

  • 相关阅读:
    转:浅谈Linux的内存管理机制
    (转)Redis
    检测socket链接是否断开
    linux C 中的volatile使用
    LINUX 下 ipv6 socket 编程
    linux signal 列表
    Linux下异常信号
    linux signal
    转: 关于Linux常用的二进制文件分析方法
    IOI2020 题解
  • 原文地址:https://www.cnblogs.com/python1988/p/10101510.html
Copyright © 2020-2023  润新知