zoukankan      html  css  js  c++  java
  • 函数的进阶

    使用命名元祖存放excel数据
    直接使用生成器推导式存放excel数据

    1.递归函数
    在函数中调用函数自身,我们把这样的函数叫做递归函数

    递归边界:
    退出递归的终止条件,即不再调用自身函数的条件

    斐波那契数列:第一个数是1,后面的数等于前两个数相加的结果


    2.纯函数

    简单来说,一个函数的返回结果只依赖于它的参数,并且在执行过程里面没有副作用
    ,我们就把这个函数叫做纯函数

    纯函数的三个原则:
    1.变量都只在函数作用域内获取,作为函数的参数传入
    2.不会产生副作用,不会改变被传入的数据或者其他数据(全局变量)
    3.相同的输入保证相同的输出

    副作用:
    副作用是指函数被调用,完成了函数既定的计算任务,但是同时因为
    访问了外部数据,尤其是因为对外部数据进行了写操作,从而一定程度地改变
    了系统环境
    4.内置函数也是纯函数的一种 str() 比较特别,但是py把他归纳为一个函数
    其实是一个函数

    map函数: 会根据提供的函数对指定序列做反射

    map(目标函数名,可迭代对象)
    酱可迭代对象中的数据迭代出来,一个个传到函数中去调用,将返回的结果
    放到新对象中

    filter函数:函数用于过滤序列 有两个参数,一个函数名跟一个可迭代对象
    例子:
    def fun(n):
    return n > 5

    list1 = [1, 2, 3, 4, 5, 6, 7, 8]
    f = filter(fun,list1) # filter
    print(list(f))

    filter():根据传入的函数,判断序列里面的值是否符合函数的要求,如果为
    true 就把返回值放到一个新对象中
    传入的函数也可以是一个lambda函数
    r = filter(lambda a:a>4,li)

    zip函数:函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元祖
    zip(参数是一个可迭代对象)
    打包成一个个元祖,只取可迭代对象的最短长度

    3.匿名数

    匿名函数的使用场景:简单的函数定义(只有一个表达式)
    lambda 函数
    lambda 参数:表达式
    res = lambda a, b: a + b
    print(res(1,2))

    三木运算符
    # 三目运算符 只能做一些简单的判断
    a = 99
    print("条件成立") if a>100 else print("条件不成立")

    4.偏函数
    当函数的参数个数太多,需要简化时,使用functools.partial可以创建一个新的函数
    这个函数可以固定住原函数的部分参数,从而在调用时更简单。
    Python内置模块 functools 其中一个就是偏函数 partial
    partial() 这个偏函数
    第一个参数必须是要固定参数的函数名。后面接要固定的参数,参数可以是多个
    例子:
    from functools import partial
    li = [1, 2, 54, 7, 7, 88]
    p =partial(filter,lambda x:x>5)
    aa = p(li)
    print(list(aa))

  • 相关阅读:
    一.execl数据驱动
    六.对XML文件的读取
    电脑远程控制的几种方式
    单元测试、集成测试、系统测试区别
    Jmeter简单的压力测试
    Python+selenium 定位非select类型的下拉框和定位时间控件
    fiddler(二)工具栏常用功能
    web自动化中,界面元素定位不到如何解决
    Fiddler (一)介绍
    Fiddler (四) 实现手机的抓包
  • 原文地址:https://www.cnblogs.com/666666pingzi/p/10851001.html
Copyright © 2011-2022 走看看