zoukankan      html  css  js  c++  java
  • python装饰器

     1 def outer(func):
     2     def inner(*args,**kwargs): #可接受任意个数的参数
     3         print('hahha')
     4         print('hahha')
     5         r = func(*args,**kwargs) #可接受任意个数的参数
     6         print('heihei')
     7         print('heihei')
     8         return r
     9     return inner
    10 #执行outer函数,并将其下面的函数名作为参数;将outer函数的返回值重新赋值给F1 =outer的返回值
    11 @outer
    12 def f1(a1,a2,a4,a5): #f1原函数==装饰器的inner函数
    13     print(a1+a2)
    14 f1(1,2,2,3)

     多层套用装饰器

     1 def outer(func):
     2     def inner(*args,**kwargs): #可接受任意个数的参数
     3         print('hahha')
     4         print('hahha')
     5         r = func(*args,**kwargs) #可接受任意个数的参数
     6         print('heihei')
     7         print('heihei')
     8         return r
     9     return inner
    10 def outer1(func):
    11     def inner(*args,**kwargs): #可接受任意个数的参数
    12         print('哈哈哈哈')
    13         r = func(*args,**kwargs) #可接受任意个数的参数
    14         return r
    15     return inner
    16 #执行outer函数,并将其下面的函数名作为参数;将outer函数的返回值重新赋值给F1 =outer的返回值
    17 @outer1
    18 @outer
    19 def f1(a1,a2,a4,a5): #f1原函数==装饰器的inner函数
    20     print(a1+a2)
    21 f1(1,2,2,3)
  • 相关阅读:
    【3006】统计数字
    【5001】n皇后问题
    【7001】n阶法雷序列
    【9402】倒序数
    【9705】&&【a801】细胞
    【9802】闭合曲线面积
    【a803】营救
    【9112】求2的n次方的精确值
    V8引擎实现标准ECMA-262(三)
    仔细看看Javascript中的逻辑与(&&)和逻辑或(||)
  • 原文地址:https://www.cnblogs.com/Erick-L/p/6404126.html
Copyright © 2011-2022 走看看