使用SoapUI测试webservice接口详细步骤
289
2022-08-27
Python小记——@(AOP:面向切面编程)(什么是面向切面编程)
使用**@**符号引用已有的函数(A)后,可用于修饰其它函数(B)
将被修饰函数(B)作为参数传递给@符号引用的函数(A)将函数B替换成步骤1的返回值。使用@将被修饰的函数改造称为新函数。
In [1]: def funA(fn): ...: print('A') ...: fn() ...: return 'abc' ...:In [2]: @funA ...: def funB(): ...: print('B') ...:ABIn [3]: print(funB)abc
被修饰的函数总能被替换成@符号所引用的函数的返回值,因此被修饰的函数会变成什么,完全取决于@符号所引用的函数的返回值。
In [4]: def foo(fn): ...: def bar(*args): ...: print("===1===", args) ...: n = args[0] ...: print("===2===", n*(n-1)) ...: print(fn.__name__) ...: fn(n*(n-1)) ...: print("*"*15) ...: return fn(n*(n-1)) ...: return bar ...:In [5]: @foo ...: def my_test(a): ...: print("==my_test函数==", a) ...: In [7]: my_test(10)===1=== (10,)===2=== 90mt_test==my_test函数== 90***************==my_test函数== 90
上面程序定义了一个装饰器函数foo,导致程序会事先执行foo(my_test),将my_test(10)替换为bar(10)。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~