• 函数的作用域,匿名函数,高阶函数


    python中函数就是一个作用域(和js类似),局部变量放置在其作用域中。

    局部变量中的变量归属其实是按照作用域来划分的。

    定义完成后,作用域已经确定,以后调用时根据嵌套关系一层一层调用,作用域链向上查找。

    #匿名函数

    lambda 函数  没有函数名,需要设定一个函数名。

    func = lambda x,y:x*y
    print(func(4,5))
    

    匿名函数的三元运算

    func = lambda x,y:x*y if x<y else x/y

    map 函数

    map(function,iterable,....)  function函数,iterable 一个或多个序列

     

    print(list(map(lambda x:x*x,[1,2,3,4,5])))

    运用匿名函数将列表中的每一个值与自己相乘。(节省代码量,看起来比较简洁)

    num = list(range(10))
    print(list(map(lambda x:x*x,num)))
    

     

    #高阶函数定义(变量可以指向函数,函数的参数可以接受变量,那么一个函数就可以接受另一个函数为参数,这种函数就被称为高阶函数)

    变量可以指向函数(函数名赋值给一个变量)

    def calc(x,y):
        return x + y
    a = calc
    print(a(2,3))

    #函数的参数可以接受变量,如下
    def calc(x):
        return x 
    n = 3
    calc(n)

     #函数接收另一个函数为参数(运行的是calc)def calc(x,y):    return x -y

    def fun(x):
        return x
    f = fun(calc)
    print(f(5,6))


    返回值里面有函数也叫高阶函数(abs是绝对值)
    def calc(x,y):
        return abs,x,y
    a = calc(3,-10)
    print(a)
    

     只要满足以下条件之一,即是高阶函数

    1·接受一个或多个函数输入

    2.return 返回另外一个函数。

     

     



      

  • 相关阅读:
    让网页活起来!韵律线带你提升带你飞!
    打造晶格化背景
    简单banner制作
    设计模式-适配器模式
    类、方法的单一职责
    .NET趋势
    C# Delegate Event
    VB.NET项目技术总结
    版本控制工具Git的使用
    delete语句要注意的BUG.
  • 原文地址:https://www.cnblogs.com/Roc-Atlantis/p/8533481.html
Copyright © 2020-2023  润新知