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
  • 相关阅读:
    tomcat安装apr优化
    mysql配置主从同步
    hadoop分布式安装
    SSH端口转发详解及实例-转载
    Jmeter实现简单web负载测试
    使用Jmeter进行http接口测试
    Jmeter如何使用数据库返回值实践
    学习使用Jmeter做压力测试(一)--压力测试基本概念
    Jmeter建立一个扩展LDAP测试计划
    Jmeter服务器监控插件使用
  • 原文地址:https://www.cnblogs.com/xiaoxiao-ya/p/11499127.html
Copyright © 2011-2022 走看看