zoukankan      html  css  js  c++  java
  • 第五天(全局变量,局部变量,高级函数)

    在python中,没有缩进的变量为全局变量,推荐全部用大写字母。

    NAME = "aitg"
    def mz():
        global NAME
        print(NAME)
    mz()

    在代码块内部的变量为局部变量。

    def mz():
        name = "aitg"
        print(name)
    mz()

    局部变量还可以使用global方法指定为全局变量

    NAME = "码农也疯狂"
    def mz():
        global NAME
        NAME = "aitg"
        return NAME
    print(mz())
    print(NAME)
    #输出结果全部是 
    # aitg
    #aitg

     匿名函数使用

    #计算x+1的结果
    a = lambda x:x+1 
    print (a(1)) #传入x值
    #输出 2

    递归使用

    def calc(n):
        print(n)
        if int(n / 2) == 0: #终止条件
            return n
        res=calc(int(n / 2)) 
        return res
    
    res=calc(10)
    print(res)

    高级函数

    1、函数式编程

    • 函数本身可以赋值给变量,赋值后变量为函数;
    • 允许将函数本身作为参数传入另一个函数;
    • 允许返回一个函数。

    2、map/reduce函数

    • map(fun, lst),将传入的函数变量func作用到lst变量的每个元素中,并将结果组成新的列表返回

    • reduce(func(x,y),lst),其中func必须有两个参数。每次func计算的结果继续和序列的下一个元素做累积计算。

      lst = [a1, a2 ,a3, ......, an]

      reduce(func(x,y), lst) = func(func(func(a1, a2), a3), ......, an)

    3、filter函数

    • 筛选序列
    • filter(func, lst),将func作用于lst的每个元素,然后根据返回值是True或False判断是保留还是丢弃该元素。

  • 相关阅读:
    js_sl 分享
    js_sl 延迟菜单
    jszs 历史管理
    jszs 对象引用
    jszs 快速排序
    jszs 枚举算法
    dom cookie记录用户名
    dom 拖拽回放
    dom div重合提示
    dom 输入文字模拟滚动
  • 原文地址:https://www.cnblogs.com/zhangguanghe/p/8719640.html
Copyright © 2011-2022 走看看