python/测试/测开-刷题第2天

简介: python/测试/测开-刷题第2天

背景介绍

  • 整理面试题,开始刷题【python】【测试】【测开】相关。


解决方案

  • 人无我有,人有我精


面试题02:Lambda函数是什么,举例说明的它的应用场景。

点评:这个题目主要想考察的是Lambda函数的应用场景,潜台词是问你在项目中有没有使用过Lambda函数,具体在什么场景下会用到Lambda函数,借此来判断你写代码的能力。因为Lambda函数通常用在高阶函数中,主要的作用是通过向函数传入函数或让函数返回函数最终实现代码的解耦合。

Lambda函数也叫匿名函数

它是功能简单用一行代码就能实现的小型函数。

  • Python中的Lambda函数只能写一个表达式,这个表达式的执行结果就是函数的返回值,不用写return关键字。
  • Lambda函数因为没有名字,所以也不会跟其他函数发生命名冲突的问题。


实操【可能会让你手写的】

python一行流,用一行代码实现:将一个列表里的每个元素都平方。

为了作比较,我们先用常规方法写一个

def sq(x):
    return x*x
map(sq,[y for y in range(10)])

再用lambda函数来编写代码

map(lambda x: x*x,[y for y in range(10)])

从这个简单的例子,我们可以看出,用lambda函数首先减少了代码的冗余,其次,用lambda函数,不用费神地去命名一个函数的名字,可以快速的实现某项功能,最后,lambda函数使代码的可读性更强,程序看起来更加简洁。

用一行代码实现求阶乘的函数

jc = lambda x: __import__('functools').reduce(int.__mul__, range(1, x + 1), 1)

用一行代码实现求最大公约数的函数等。

gys = lambda x, y: y % x and gcd(y % x, x) or x

进阶

Lambda函数其实最为主要的用途是把一个函数传入另一个高阶函数(如Python内置的filter、map等)中来为函数做解耦合,增强函数的灵活性和通用性。

下面的例子通过使用filter和map函数,实现了从列表中筛选出奇数并求平方构成新列表的操作,因为用到了高阶函数,过滤和映射数据的规则都是函数的调用者通过另外一个函数传入的,因此这filter和map函数没有跟特定的过滤和映射数据的规则耦合在一起。

items = [12, 5, 7, 10, 8, 19]
items = list(map(lambda x: x ** 2, filter(lambda x: x % 2, items)))
print(items)    # [25, 49, 361]

再次进阶

优化上面的代码:用列表的生成式来实现

items = [12, 5, 7, 10, 8, 19]
items = [x ** 2 for x in items if x % 2]
print(items)    # [25, 49, 361]

结尾

  • 好好复习,明天见!
相关文章
|
2天前
|
监控 测试技术 持续交付
Python自动化测试代理程序可用性
总之,通过编写测试用例、自动化测试和设置监控系统,您可以确保Python自动化测试代理程序的可用性,并及时发现和解决问题。这有助于提供更可靠和高性能的代理服务。
11 4
|
4天前
|
机器学习/深度学习 算法 UED
【Python 机器学习专栏】A/B 测试在机器学习项目中的应用
【4月更文挑战第30天】A/B测试在数据驱动的机器学习项目中扮演关键角色,用于评估模型性能、算法改进和特征选择。通过定义目标、划分群组、实施处理、收集数据和分析结果,A/B测试能帮助优化模型和用户体验。Python提供工具如pandas和scipy.stats支持实验实施与分析。注意样本量、随机性、时间因素和多变量分析,确保测试有效性。A/B测试助力于持续改进机器学习项目,实现更好的成果。
|
6天前
|
测试技术 Python
python运行集成测试
【4月更文挑战第22天】
7 1
|
6天前
|
测试技术 Python
python编写集成测试
【4月更文挑战第22天】
4 1
|
7天前
|
数据可视化 测试技术 持续交付
python分析测试结果
【4月更文挑战第21天】
16 3
|
7天前
|
XML 测试技术 持续交付
python运行集成测试
【4月更文挑战第21天】
16 2
|
7天前
|
测试技术 Python
python编写集成测试用例
【4月更文挑战第21天】
14 1
|
8天前
|
IDE 测试技术 持续交付
【专栏】Python自动化测试与单元测试框架:提升代码质量与效率
【4月更文挑战第27天】本文探讨了Python自动化测试与单元测试框架在提升代码质量与效率中的作用。Selenium、Appium用于Web和移动应用自动化测试,pytest提供强大、易扩展的测试支持。unittest是Python标准的单元测试框架,支持结构化测试用例和丰富的断言。实践中,应制定测试计划,编写高质量测试用例,实行持续集成与测试,并充分利用测试报告。这些工具和策略能有效保障代码质量和提升开发效率。
|
8天前
|
测试技术 API 持续交付
【专栏】Python自动化测试与单元测试框架
【4月更文挑战第27天】本文探讨了Python在自动化测试与单元测试中的应用,强调其简洁语法和丰富库的优势。文章分为三部分:首先,阐述自动化测试的重要性及Python的易学性、库支持、跨平台和社区支持;其次,介绍了Python的Unittest标准测试框架和Pytest第三方框架的特点与用法;最后,讨论了Web UI和API自动化测试实践,并提出持续集成、测试金字塔等最佳实践。Python为软件开发的测试环节提供了强大支持,帮助构建更稳定的系统。
|
9天前
|
Web App开发 人工智能 Java
Python Selenium实现自动化测试及Chrome驱动使用
Python Selenium实现自动化测试及Chrome驱动使用
10 2