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)
  • 相关阅读:
    windows 命令修改IP
    iptables_forward
    python之pickle模块
    python之os.path模块
    python之random模块
    python基础之常用模块
    python基础之测试题
    python 集合(set)基础
    python编码与解码
    python3 字符串基础
  • 原文地址:https://www.cnblogs.com/Erick-L/p/6404126.html
Copyright © 2011-2022 走看看