Python测开面试题之装饰器
Python的装饰器是面试常被问到的问题之一,在面试Python测试开发时被问到的概率不低于70%,那么装饰器的原理是什么,怎么快速写出一个装饰器呢,接下来我们详细讲解装饰器的实现方法。 Python是一门动态语言,语法十分灵活多变,我们可以定义一个计算两数之和的加法函数,代码如下: defadd(x, y) returnx + y 函数实现非常简单,输入两个参数,计算两个参数的和。我们可以直接调用函数 sum= add(3,5) print(sum) 也可以讲函数复制给一个变量,然后通过变量调用函数 sum= add sum(3,5) 此时sum不再是add函数的结果,而是add函数自身,因此可以被调用并且传入参数3,5 既然函数可以作为参数,那么函数当然也可以作为返回值,我们来实现一个嵌套函数来对add函数的两个参数进行校验👇🏻 defdecorator(func): defwrapper(x, y): try: _x = float(x) exceptException: _x =0 try: _y = float(x) exceptException: _y =0 sum = func(_x, _y) returnsum returnwrapper 由代码看出wrapper函数作为decorator函数的返回值返回