zoukankan      html  css  js  c++  java
  • python 基础篇 12 装饰器进阶

    本节主要内容:
    1. 通⽤装饰器回顾
    2. 函数的有⽤信息
    3. 带参数的装饰器
    4. 多个装饰器同时装饰⼀个函数

    . 通⽤装饰器的回顾
    开闭原则: 对增加功能开放. 对修改代码封闭
    装饰器的作⽤: 在不改变原有代码的基础上给⼀个函数增加功能
    通⽤装饰器的写法:

    执行过程:

    其实执行  target_func()就是执行inner函数.  inner函数会先执行目标函数之前的代码,然后执行目标函数,之后再执行目标函数之后的代码.

    如何获取函数的有用信息:

    函数名.__name__可以查看函数名字

    函数名.__doc__可以查看函数文档注释

     

    虽然调用的是target_func函数,但是打印出来的却是inner函数,这个难免会给我误解,所以我们要改回去

     

    PS: *args**kwargs什么时候打散, 什么时候聚合
    1. 接收参数的时候是聚合, 参数声明
    2. 传递参数的时候是打散, 给函数传递实参

    三--装饰器传参

    执行顺序:  先执行wrapper_out(False),  返回值是wrapper,然后再@wrapper   还是和之前的装饰器一样,一次执行.

     . 多个装饰器装饰同⼀个函数
    先读⼀下这样⼀个代码.

     

    这个顺序可以自己捋捋      先执行装饰器1,  然后执行装饰器2

  • 相关阅读:
    gitlab
    MySQL千万级别大表,你要如何优化?
    kafka入门
    zookeeper的原理和应用
    MySQL 性能优化之慢查询
    Redis一些新的看法
    mysql 数据库锁
    MYSQL查看进程和kill进程
    hadoop批量命令脚本xcall.sh及jps找不到命令解决
    java stream 处理分组后取每组最大
  • 原文地址:https://www.cnblogs.com/dalaoban/p/9198542.html
Copyright © 2011-2022 走看看