zoukankan      html  css  js  c++  java
  • 类的装饰器基本原理及增强版

    '''类的装饰器基本原理'''
    # def deco(func):
    #  print('===')
    #  return func
    
    # @deco    # test = deco(test)
    # def test():
    #  print('test函数运行')
    #
    # test()
    
    # @deco    # Foo = deco(Foo)
    # class Foo:
    #  pass
    #
    # f1 = Foo()
    
    
    # def deco1(func):
    #  func.x = 1
    #  func.y = 2
    #  return func
    #
    # @deco1    # Foo1 = deco1(Foo1)
    # class Foo1:
    #  pass
    #
    # print(Foo1.__dict__)
    
    
    '''类的装饰器增强版'''
    # def typed(**kwargs):
    #  def deco(func): # 此时deco是局部作用域
    #     for key,val in kwargs.items():
    #        setattr(func, key, val) # 为类设置类属性
    #     return func
    #  return deco
    #
    # @typed(name='alex', age=18) # ①typed(name='alex', age=18)已经是在运行了,返回结果deco ②@deco,Foo = deco(Foo)
    # class Foo:
    #  pass
    #
    # @typed(x=1, y=2, z=3)
    # class Bar:
    #  pass
    #
    # print(Foo.__dict__)
    # print(Bar.__dict__)
    while True: print('studying...')
  • 相关阅读:
    nginx
    spring 学习
    mysql 免安装 操作
    院感干预 报错
    iis 无法绑定 net.tcp
    wangEditor 自定义 菜单
    院感干预 发布
    第17篇 shell编程基础(2)
    第16篇 Shell脚本基础(一)
    第15篇 PSR-04 规范
  • 原文地址:https://www.cnblogs.com/xuewei95/p/14756751.html
Copyright © 2011-2022 走看看