zoukankan      html  css  js  c++  java
  • 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))

     

  • 相关阅读:
    Javaoop_继承
    事务,视图,索引,备份和恢复
    常用函数。
    为虚拟机配置NAT网络
    安装Linux系统
    初始Redis
    高内聚低耦合
    MyBatis动态SQL
    初始MyBatis
    GitHub的操作
  • 原文地址:https://www.cnblogs.com/python1988/p/10101510.html
Copyright © 2011-2022 走看看