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

    装饰器的作用:可以在不修改原函数代码的情况下给该函数拓展一些功能。装饰器完美诠释了“开放封闭原则”

    "开放封闭"原则:

    已经写好的代码, 尽可能不要修改(对函数的内的代码 封闭原则)

    如果想要新增功能, 在原先代码基础上, 单独进行扩展(对函数功能的拓展 开放原则)

    # 装饰器标准版
    def check_login(func):
        def inner(*args, **kwargs):   # 函数定义* **代表聚合
            # 被装饰函数执行前的代码
            ret = func(*args, **kwargs)     # 函数调用* **代表打散
            # 被装饰函数执行后的代码
            return ret  # 被装饰函数的返回值
        return inner
    
    
    # @check_login 相当于 func1 = check_login(func1),
    #  此时的func1 = inner,再调用func1时,相当于执行inner()
    # func1 = check_login(func1)    # 相当于装饰器的操作
    # func1()   # 此时执行的是check_login(func1)的返回值也就是执行inner函数,相当于inner()
    @check_login
    def func1(x, y):
        # print(x, y)
        return x, y
    
    
    r = func1(1, 3)
    print(r)
  • 相关阅读:
    css属性选择器
    css各浏览器的兼容性写法
    使元素的宽度由内容撑开的方法
    DOM应用
    css圣杯布局、等高布局
    总结css兼容问题
    table注意事项
    相对定位、绝对定位在IE6的问题
    IE6,7下li标签的间隙
    清除浮动的7种方法
  • 原文地址:https://www.cnblogs.com/chen55555/p/10222210.html
Copyright © 2011-2022 走看看