zoukankan      html  css  js  c++  java
  • day12

    装饰器:

    1 什么是装饰器
    器=>工具
    装饰=>指的是为被装饰对象添加新功能

    装饰器本身可以是任意可调用的对象=>函数
    被装饰的对象也可以是任意可调用的对象=>函数

    目标:写一个函数来为另外一个函数添加新功能

    2 为何要用装饰器
    开放封闭原则: 软件一旦上线就应该对修改封闭,对扩展开放
    对修改封闭:
    1. 不能修改功能的源代码
    2. 也不能修改功能的调用方式

    对扩展开发:
    可以为原有的功能添加新的功能

    装饰器就是要在不修改功能源代码以及调用方式的前提下为原功能添加额外新的功能

    3 如何用

    # 无参装饰器的模板
    # def outter(func):
    #    def wrapper(*args,**kwargs):
    #      res=func(*args,**kwargs)
    #      return res
    #    return wrapper

    # 有参装饰器
    def outter2(xxx,yyy):
      def outter(func):
        def wrapper(*args,**kwargs):
          res=func(*args,**kwargs)
          print(xxx)
          print(yyy)
          return res
        return wrapper
      return outter

    语法糖

    @装饰器的名字:要在被装饰对象正上方单独一行写上

    global与nonlocal

    global: 在局部声明变量是全局变量

    nonlocal:在局部声明变量是外层函数的变量

  • 相关阅读:
    Linux Screen
    python SQLAlchemy 学习
    python Django 分页功能
    大数据 HBase Shell
    HBase 表操作
    Nginx 编译安装
    python Django 发送邮件
    python Django 用户管理和权限认证
    python shutil 文件操作
    python zip 压缩文件
  • 原文地址:https://www.cnblogs.com/endlesswaltz/p/9715715.html
Copyright © 2011-2022 走看看