zoukankan      html  css  js  c++  java
  • L6-6 函数升级

    一、课程回顾

    上节课我们学习了函数的参数,学习了四种传参方式,分别是位置参数、默认参数、可变参数和关键字参数。

    二、递归函数

    # 在函数内部,可以调用其他函数。如果一个函数在内部调用自身,这个函数就是递归函数。
    def foo(num):
        print(num)
        if num==1:
            return
        foo(num-1)
        print(num,"=======>")
    foo(3)

    三、高阶函数

    # 高阶函数:一个函数可以作为参数传给另外一个函数,或者一个函数的返回值为另外一个函数(若返回值为该函数本身,则为递归),满足其一则为高阶函数。
    1.变量可以指向函数,以内置函数abs为例,调用函数时将结果赋值给变量
    
    a=abs(-10)
    
    print(a)
    2.直接将函数本身赋值给变量
    
    a=abs
    
    print(a(-10))
    3.一个函数可以接收另一个函数作为参数,这种函数就是高阶函数。

    map函数:是Python 内置的高阶函数

    # map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组)。其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数。

    案例1:

    a=(1,2,3,4,5)
    b=[1,2,3,4,5]
    c="Rita"
    
    la=map(str,a)
    lb=map(str,b)
    lc=map(str,c)
    
    print(la)
    print(lb)
    print(lc)

    案例2:

    L = ['sKY', 'tOM', 'LUKAS']
    def upper_first(s):    
        return s[0].upper() + s[1:].lower()
    print(map(upper_first, L))

    注:upper(),lower()作用

    # upper()字符串中字母由小写变为大写
    # lower()字符串中字母由大写变为小写

    四、变量作用域

    # 作用域指的是范围,值得就是作用的的范围,分为以下两种:全局变量和局部变量。
    
    # 全局变量:一般在函数体外定义的变量
    
    # 局部变量:在函数内部定义的变量

    全局变量:

    num = 100
    def func():
        x = num + 100
        print(x)
    func()
    
    # 结果:200

    局部变量:

    num = 100
    def func():
        num = 200
        x = num + 100
        print(x)
    func()
    
    # 结果:300

    注意使用函数时,变量名既有全局变量也有局部变量,则默认使用局部变量。

    global:在局部声明一个名字是来自于全局作用域的,可以用来在局部修改全局的不可变类型。

    在函数中将某个变量定义为全局变量时需要使用关键字global。

    num = 100
    def func():
        global num
        num = 200
        print(num)
    func()
    print(num)
    
    # 结果:
    # 200
    # 200
  • 相关阅读:
    python活力练习Day13
    检测一个字符串在另外一个字符串中的位置
    Python活力练习Day12
    Python多进程与单进程效率对比
    HTML-Note
    Python判断自定义的参数格式是否正确
    图片的灰与彩
    Git常用命令
    Linux 单引号和双引号的区别
    类函数中获取进程池对象的地址
  • 原文地址:https://www.cnblogs.com/xiaoxiao-ya/p/11499127.html
Copyright © 2011-2022 走看看