源码时代软件测试干货分享|Python自动化测试常见面试题,学会不怕找不到好工作!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了源码时代软件测试干货分享|Python自动化测试常见面试题,学会不怕找不到好工作!相关的知识,希望对你有一定的参考价值。

怎么理解装饰器,用过或者写过什么装饰器吗?

1.1.概述:
装饰器本质上是一个 Python 函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。

1.2.详细描述:

1.import?logging??8.????????ret?=?oldfunc(*args,?**kwargs)??
9.????????return?ret??
10.??
11.?????返回新函数??
12.????return?new_func??
13.??
14.??
15.#?通过语法糖使用装饰器??
16.@decorator??
br/>2.#?定义装饰器,接收旧函数??
3.def?decorator(oldfunc):??
4.?????定义新函数,加强原函数??
5.????def?new_func(*args,?**kwargs):??
6.????????加强代码写这里,记录日志信息....??
7.????????logging.error("记录日志信息")??
8.????????ret?=?oldfunc(*args,?**kwargs)??
9.????????return?ret??
10.??
11.?????返回新函数??
12.????return?new_func??
13.??
14.??
15.#?通过语法糖使用装饰器??
16.@decorator??
17.def?square(x):??
18.?????获取?两个数的平方??
19.????return?x**2??
20.??
21.#?执行??
22.print(square(5))??

1.3.应用场景:
日志记录,统计代码执行时间,权限验证
2.迭代器和生成器的区别
2.1.概述:
生成器是特殊的迭代器,它更加优雅.生成器中的元素不是直接生成好,而是每使用next()方法获取下一个元素的时候才创建,从而大大节省内存空间。迭代器和生成器的区别
2.2.详细描述:
1.迭代器是一个更加抽象的概念,任何对象,如果它的类有next方法和iter方法返回自身。对于string、list、dict、tuple等这类容器对象,使用for循环遍历是很方便的。在后台for语句对容器对象调用iter()函数,iter()是Python的内置函数。iter()会返回一个定义了next()方法的迭代器对象,它在容器中逐个访问容器内元素,next()也是python的内置函数。在没有后续元素时,next()会抛出一个StopIterration的异常。
2.生成器(Generator)是创建迭代器的简单而强大的工具。它有列表生成器和函数生成器.函数生成器写起来就像是正规的函数,只是在返回数据的时候需要使用yield语句返回。每次next()被调用时,生成器会返回它脱离的位置(它记忆语句最后一次执行的位置和所有的数据值)
2.3.应用场景:

1.#?列表生成器,其实就是列表推导式的[]写成()??
2.g?=?(i?for?i?in?range(10))??
3.print(next(g))??
4.print(next(g))??
5.print(next(g))??
6.print(next(g))??
7.??
8.??
9.#?通过?函数式生成器?获取?1-10?数字的平方??
10.def?sqrt():??
11.????num?=?1??
12.????while?num?<=?10:??
13.????????返回平方??
14.????????yield?num**2??
15.????????num?+=?1??
16.??
17.????????调用函数返回生成器??
18.????????g?=?sqrt()??
19.????????print(next(g))??
20.????????print(next(g))??
21.????????print(next(g))??
22.????????print(next(g))??

(本文由源码时代技术老师原创撰写,转载请注明出处)

以上是关于源码时代软件测试干货分享|Python自动化测试常见面试题,学会不怕找不到好工作!的主要内容,如果未能解决你的问题,请参考以下文章

源码时代软测干货分享|Jmeter性能测试实战(上)

源码时代软测干货分享|探索语境驱动测试七大原则

源码时代软测干货分享|今天来说说测试转向敏捷路线

源码时代Java干货分享|Shell脚本编程学习入门,只需两个步骤,包你学会!

干货分享自动化测试工具介绍

干货分享Python的爬虫与Selenium库详细教程