Python装饰器的应用

Python 中的装饰器是一种语法糖,可以在运行时,动态的给函数或类添加功能。装饰器本质上是一个函数,使用 @ + 函数名就是可实现绑定给函数的第二个功能 。它的作用就是在不修改被装饰对象源代码和调用方式的前提下为被装饰对象添加额外的功能。

普通调用的写法,把 my_func 作为 calc() 的参数直接调用。

javascript 复制代码
def my_func():
    print('Hello World')

def calc(func):
    y = 3 + 5
    func()
    print(y)

calc(my_func)

考虑到当要增加某些功能时,导致相关的调用都要修改,这时装饰器就起到作用了。

javascript 复制代码
def calc(func):
    def pack():
      y = 3 + 5
      func()
      print(y)
    return pack

@calc
def my_func():
    print('Hello World')

my_func()
相关推荐
a***56063 小时前
Windows上安装Go并配置环境变量(图文步骤)
开发语言·windows·golang
San30.4 小时前
ES6+ 新特性解析:让 JavaScript 开发更优雅高效
开发语言·javascript·es6
烤麻辣烫4 小时前
黑马程序员苍穹外卖(新手)DAY6
java·开发语言·学习·spring·intellij-idea
d***95624 小时前
爬虫自动化(DrissionPage)
爬虫·python·自动化
友友马4 小时前
『QT』窗口 (一)
开发语言·数据库·qt
APIshop4 小时前
Python 零基础写爬虫:一步步抓取商品详情(超细详解)
开发语言·爬虫·python
二川bro5 小时前
AutoML自动化机器学习:Python实战指南
python·机器学习·自动化
AI科技星5 小时前
为什么宇宙无限大?
开发语言·数据结构·经验分享·线性代数·算法
杨超越luckly5 小时前
基于 Overpass API 的城市电网基础设施与 POI 提取与可视化
python·数据可视化·openstreetmap·电力数据·overpass api
Appreciate(欣赏)5 小时前
JAVA使用poi类读取xlxs文件内容拼接成添加数据SQL
java·开发语言·sql