zoukankan      html  css  js  c++  java
  • Python day10 global关键字、函数递归、匿名函数、map函数的用法详解

    1.global关键字  引用全局变量,在局部全局变量改变,也会改变,global相当于指针,将地址指向全局变量的name
    name='littlepage'
    
    def littepage():
        global name
        name='LargePage'
        return name
    
    print(littepage())
    print(name)

    2.函数递归————举例,阶乘factorial
    def factorial(x):
        if(x==1):return x
        else:return x*factorial(x-1)
    
    print(factorial(4))
    
    

    一行阶乘(使用到3中的匿名函数)

    func=lambda x:x*func(x-1) if (x>1)  else 1
    print(func(9))
    3.匿名函数(anonymous function)
    def calc(x):
        return x+1
    等同于
    func=lambda x:x+1
    
    print(calc(1))
    print(func(1))
     
    4.map函数——映射函数
    map(func,liter1)
    原理解析
    def map_test(func,array):
        ret=[]
        for i in array:
            res=func(i)
            ret.append(res)
        return ret
    
    fun1=lambda x:x+1
    arr=[1,2,3,4,5]
    re=map_test(fun1,arr)
    print(re)
    
    def fun2(x):
        return x-1;
    
    re=map_test(fun2,arr)
    print(re)
    系统中有同样的函数,map函数,返回的是object地址,要进行遍历
    for i in map(lambda x:x+1,arr):
        print(i)
    同样的例子,让字符串转大写,如果不想要层级打印也可转为list
    msg="lllddddsciffbo"
    print(list(map(lambda x:x.upper(),msg)))
     
  • 相关阅读:
    洛谷 P4708
    NFLSOJ 1060
    Codeforces 1264D
    Solution -「多校联训」Sample
    Solution -「多校联训」光影交错
    Solution -「LOJ #138」「模板」类欧几里得算法
    Solution -「LOJ #141」回文子串 ||「模板」双向 PAM
    Codeforces Round #700 (Div. 2)
    Codeforces Round #698 (Div. 2) C and D
    「NOI 2021」题解
  • 原文地址:https://www.cnblogs.com/littlepage/p/9384377.html
Copyright © 2011-2022 走看看