美文网首页
2018-10-11总结

2018-10-11总结

作者: _墨宇_ | 来源:发表于2018-10-11 20:16 被阅读0次

    匿名函数

    1.普通函数
    def 函数名(参数列表):
    函数体
    2.匿名函数
    函数名 = lambda 参数列表:返回值
    sum1 = lambdm (args,*kwargs):None
    说明:
    函数名 ----变量名
    lambda ---关键字
    参数列表 ----(参数名1,参数名2...)(至少有一个函数)

    返回值 -----相当于有一个return语句的函数体

    匿名函数的调用和普通函数一样:函数名(实参列表)也支持位置参数,关键字参数,不定长函数

    变量的作用域

    1.变量的作用域

    变量的作用域是指变量更够使用的范围

    2.全局变量和局部变量

    全局变量:声明在函数和类的外面的变量都是全局变量,作用域是从声明开始到整个py文件结束。

    3.局部变量

    声明在函数和类中的变量都是局部变量。声明在函数中的变量,作用域从声明开始到整个函数结束。

    def fuc():
    a = 123  #a就是局部变量
    

    4.global 关键字

    在函数中说明一个变量是全局变量
    `注意:值在函数中使用

    name = 'uzi'
    def fuc():
    global name#说明当前使用的变量为全局变量
      name ='letme'
      print(name) 
    fuc()  # 'letme'
    
    

    5.nonlocal 关键字

    想要在局部变量中修改局部变量的值

    def fuc():
      abc = 100
      nonlocal abc
      abc = 200
      print(abc)
    
    fuc()   #200
    
    
    

    4.函数作为变量

    1.声明函数就是声明一个类型是function的变量,函数名实质就是一个变量名

    def fuc():
      print()
    print(type(fuc))  #<class 'function'>
    

    2.函数作为列表元素

    a = 10
    list1 = [1,a]
    def fuc():
      print('love')
      return 10
    list2 = [1,fuc(),fuc]
    print(list2)  #[1,10,fuc地址]
    

    3.将函数作为参数

    def fuc1(n):
        n()
    
    def fuc2():
        print('chenguo is good man')
    
    fuc1(fuc2) #chenguo is good man
    

    列表.sort(key = None ,reverse = False) 使用sort的时候,可以通过key赋值一个函数变量,来规定列表中的元素按照什么标准来排序 这儿的函数要求有一个参数和返回值。

    lst3 = [(10,20),(100,3),(1,90)]
    def sum1(item):
        return  item[1]
    list3.sort(key = sum1)
    print(list3) #[(100, 3), (10, 20), (1, 90)]
    

    4.将函数作为返回值

    根据运算符号,返回对应的功能

    def oper(opera):
        if opera =='+':
            def fuc1(*args,**kwargs):
                #*args = (tuple)
                #**kwaggs = {dict}
                sum1 = 0
                for x in args:
                    sum1 += x
                for y in kwargs:
                    sum1 += kwargs[y]
                return  sum1
        return  fuc1
    re = oper('+')(34,56,35,a = 12 , b = 45)
    print(re)#182
    

    函数的调用

    1.补充:python中的函数可以有多个返回值

    求多个数的和以及平均值

    def sum1(*n):
        sum2 = sum(n)
        avrg = sum2/len(n)
        return  (sum2, avrg)  #同时返回和 、平均值
    a = sum1
    print(a(12,3,4,4))  #(23, 5.75)
    

    递归函数

    递归函数:函数中调用函数本身,这样的函数就是递归函数(自己调自己)

    循环能做的事情递归都可以做,但是实际上循环能解决的问题绝对不选递归

    相关文章

      网友评论

          本文标题:2018-10-11总结

          本文链接:https://www.haomeiwen.com/subject/gzzbaftx.html