TestOps自动化测试课程学习之第三天

跟着芒果一起,好好学习,天天向上。上周六是我们TestOps自动化班Python课程的第三天,我们来为这一天的课程做个小总结~

周六的自动化课程是由芒果给大家带来的Python函数及函数调用、Python面向对象编程:芒果带大家学习了Python的函数定义以及调用;位置参数、关键字参数、默认参数、可变参数等参数类型;Python的高阶函数;Python类及实例化;类的封装、继承与多态性。

Python函数编程与面向对象编程我们在面前的公众号中给大家介绍过,这次给大家介绍一下Python的一些高阶函数。

01
匿名函数

当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。

关键字lambda表示匿名函数,冒号前面的x表示函数参数,冒号后面只能有一个表达式,不用写return,返回值就是该表达式的结果。

用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突。

例:

1#匿名函数:
2lambda x: x * x
3
4#实际上就是:
5def f(x):
6    return x*x
7
8#匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数:
9f = lambda x: x * x
10f(5)
11
12#同样,也可以把匿名函数作为返回值返回,比如:
13def build(x, y):
14    return lambda: x * x + y * y
15#调用:
16f=build(3,3)
17f()
02

map函数

map()函数接收两个参数,一个是函数,一个是Iterable(可迭代对象),map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator(迭代器)返回。

例:

1#我们有一个函数f(x)=x2,要把这个函数作用在一个list [1, 2, 3, 4, 5, 6, 7, 8, 9]上
2
3#用map()实现如下:
4def f(x):
5     return x * x
6r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
7list(r)
8#显示结果
9[1, 4, 9, 16, 25, 36, 49, 64, 81]
10
11#map()传入的第一个参数是f,即函数对象本身,第二个参数是一个列表。
12#由于结果r是一个Iterator,Iterator是惰性序列,因此在显示结果时,我们通过list()函数让它把整个序列都计算出来并返回一个list
03
filter函数

filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。

例:

1#对于一个list[1, 2, 4, 5, 6, 9, 10, 15],我们去除其中所有的偶数,保留奇数
2def f(n):
3    return n % 2 == 1
4r = filter(f, [1, 2, 4, 5, 6, 9, 10, 15])
5list(r)
6#显示结果为:
7[1,5,9,15]
8#filter()传入的第一个参数是f,即函数对象本身,第二个参数是一个列表。
9#由于结果r是一个Iterator,Iterator是惰性序列,因此在显示结果时,我们通过list()函数让它把整个序列都计算出来并返回一个list
04
sorted函数

sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序。

例:

1#对于一个list[36, 5, -12, 9, -21],我们用它的绝对值进行排序
2sorted([36, 5, -12, 9, -21], key=abs)
3#显示结果
4[5,9,-12,-21,36]
5
6#这里sorted()函数的第一个参数为列表,第二个参数key为求绝对值函数abs
7#key指定的函数将作用于list的每一个元素上,并根据key函数返回的结果进行排序,key的默认值为空

当然这一天的课程公众号上所讲的只是少少的一部分,话唠芒果也尽可能的给大家讲解Python基础体系相关知识,想要了解详情还在课堂上好好学习吧~

点击原文链接,即可直达课程直播页面!

对于自动化测试、python编程、或者是我们课程有兴趣的同学,可以私聊芒果哟

(0)

相关推荐

  • Python基础知识汇总(避坑)

    (1)字符串(全部返回的都是新的字符串,字符串属于有序不可变序列) s.replace(old,new,[max]) s.strip('a'):从字符串前后剔除字符串'a' s.lstrip('a') ...

  • 面试题-python3 内置函数map reduce filter 如何使用?

    前言 面试时候经常会考到 map reduce filter 这三个内置函数的使用 map() 函数 map() 会根据提供的函数对指定序列做映射. 第一个参数 function 以参数序列中的每一个 ...

  • 说说Python中的lambda表达式?

    公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开始, ...

  • 理解lambda表达式,为什么用它?

    初学者接触 lambda表达式 ,觉得语法很清奇,正好今天看到 python weekly 推送了一个youtube的视频教程,今天大邓就顺便领大家简单认识一下lambda语法. up主:PyLeni ...

  • 第 14 天:Python 高阶函数

    函数式编程现在逐渐被广大开发群体接受,越来越多的开发者们开始使用这种优雅的开发模式,而我们使用函数式编程最主要的是需要清楚: 什么是高阶函数(Higher-order Functions)? Pyth ...

  • Python学习——函数及调用

    经过之前Python学习--十分钟入门Python一文的学习相信大家对于Python都有了大概的了解.这节课芒果带大家一起来学习Python函数. 函数是带名字的代码块,用来完成某项具体任务的.当我们 ...

  • Python常用的8个高级函数

    lambda 它们在其他语言中也被称为匿名函数.如果你不想在程序中对一个函数使用两次,你也许会想用lambda表达式,它们和普通的函数完全一样. lambda argument: manipulate ...

  • TestOps性能测试课程学习之第六天

    跟着芒果一起好好学习,天天向上~ 上周六是我们TestOps性能进阶课程第六天--性能瓶颈与分析的学习.这一天的课程依旧是干货满满,云层老师从构建性能测试分析思路.性能瓶颈定位.常见性能分析模型.性能 ...

  • 【衡道丨笔记】妇科病理体系化课程学习笔记(三)

    在衡道医学新媒体开设的「进阶直播课」栏目中,我们有幸请到了深圳市人民医院病理科郭晓静老师,带来了「妇科病理体系化课程」. 为了大家可以更好地学习消化,我们不仅有直播课程回放,还专门请深圳市人民医院的蒋 ...

  • 【衡道】皮肤组织病理学体系化课程学习笔记(三)——皮肤血管炎分类及组织病理

    在 4 月 9  日上线的皮肤组织病理学体系化课程中,曾学思教授为我们详细的讲述的皮肤血管炎分类及组织病理. 小衡分享来自复旦大学附属肿瘤医院的郑强老师的学习笔记,希望下次你也能和我们一起分享~ 复旦 ...

  • TestOps自动化课程之学习第三天

    Hello,大家好.又到了清风为大家总结时间了,今天来给大家总结点什么东西呢?在我们上周六开始了自动化班级的第三天上课,而我今天就来给大家分享一下上周六的课程我们学习的一丢丢知识. 今天跟大家分享的知 ...

  • TestOps性能课程之学习第三天

    跟着芒果一起,好好学习,天天向上.上周六是我们TestOps性能课程的第三天,我们来为这一天的课程做个小总结~ 周六的性能课是由云层老师带来的Loadrunner进阶: 云层老师从Loadrunner ...

  • TestOps实战课程之自动化测试

    授课老师: 六道 :  超过15年的软件测试从业经历:前华为高级测试工程师,互联网公司测试总监:ISTQB注册讲师:美国ASQ协会认证的质量工程师:PMP项目管理专家:测试技术布道者.依托于一切基于实 ...

  • TestOps自动化课程之学习第一天

    Hello,大家好.又到了清风为大家总结时间了,今天来给大家总结点什么东西呢?在我们上周六开始了自动化班级的第一天上课,而我今天就来给大家分享一下上周六的课程我们学习了什么知识. 先来给大家看下思维导 ...

  • TestOps自动化课程之学习第二天

    Hello,大家好.又到了清风为大家总结时间了,今天来给大家总结点什么东西呢?在我们上周六开始了自动化班级的第二天上课,而我今天就来给大家分享一下上周六的课程我们学习了什么知识. 先来给大家看下思维导 ...

  • TestOps自动化课程之学习第四天

    Hello,大家好.又到了清风为大家总结时间了,今天来给大家总结点什么东西呢?在我们上周六开始了自动化班级的第四天上课,而我今天就来给大家分享一下上周六的课程我们学习的一丢丢知识. 先来给大家看看,我 ...