iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python装饰器的应用场景及实例用法
  • 536
分享到

Python装饰器的应用场景及实例用法

2024-04-02 19:04:59 536人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

1、说明 装饰本质上是一个python函数,它能使其他函数在没有任何代码变化的情况下增加额外的功能。有了装饰,我们可以抽出大量与函数功能无关的相同代码,继续重用。 2、应用场景 包括

1、说明

装饰本质上是一个python函数,它能使其他函数在没有任何代码变化的情况下增加额外的功能。有了装饰,我们可以抽出大量与函数功能无关的相同代码,继续重用。

2、应用场景

包括插入日志性能测试事务处理、缓存和权限验证。

3、实例


# 装饰器
# func指函数
def decorator(func):
    def wrapper(*args, **kwargs):
        # 执行函数内部逻辑 打印时间
        print(time.time(), args, kwargs)
        # 执行调用函数中逻辑 打印不同参数
        func(*args, **kwargs)
    return wrapper
# 一个参数
@decorator
def function(param):
    print('function : this is decorator ' + param)
# 两个参数
@decorator
def function1(param1, param2):
    print('function1 : this is decorator ' + param1)
    print('function1 : this is decorator ' + param2)
# 三个参数(可变参数)
@decorator
def function2(param1, param2, **kwargs):
    print('function2 : this is decorator ' + param1)
    print('function2 : this is decorator ' + param2)
    print(kwargs)
function('param')
function1('param1' , 'param2')
function2('param1' , 'param2', x=1,y=2,z=3)

内容扩展:

函数注册表

简单注册表


funcs = []
def reGISter(func):
  funcs.append(func)
  return func    
@register
def a():
  return 3
  
@register
def b():
  return 5  
# 访问结果
result = [func() for func in funcs]

注册表隔离(使用类的不同实例)


class Registry(object):
  def __init__(self):
    self._funcs = []
  
  def register(self, func):
    self._funcs.append(func)
    
  def run_all(self):
    return [func() for func in self._funcs] 
r1 = Registry()
r2 = Registry()

@r1.register
def a():
  return 3
  
@r2.register
def b():
  return 5
  
@r1.register
@r2.register

到此这篇关于Python装饰器的应用场景及实例用法的文章就介绍到这了,更多相关Python装饰器的应用场景内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python装饰器的应用场景及实例用法

本文链接: https://www.lsjlt.com/news/124009.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python装饰器的应用场景及实例用法
    1、说明 装饰本质上是一个Python函数,它能使其他函数在没有任何代码变化的情况下增加额外的功能。有了装饰,我们可以抽出大量与函数功能无关的相同代码,继续重用。 2、应用场景 包括...
    99+
    2024-04-02
  • python 3层装饰器及应用场景
    #!/usr/bin/env python# -*- coding:utf-8 -*-# author: Changhua Gongimport time, functools'''实现装饰器:1.函数即变量;2.高阶函数;    1)把一...
    99+
    2023-01-31
    场景 器及 python
  • Python装饰器的应用场景是什么
    今天小编给大家分享一下Python装饰器的应用场景是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。说明装饰本质上是一个P...
    99+
    2023-06-30
  • Python中装饰器的应用场景有哪些
    这篇文章将为大家详细讲解有关Python中装饰器的应用场景有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WEB...
    99+
    2023-06-14
  • Python Decorator装饰器的创建方法及常用场景分析
    目录前言一、创建方式二、常用场景前言 1.装饰器本质是一个语法糖,是对被装饰方法或类进行的功能扩充,是一种面向切面的实现方法2.装饰器可以分成方法装饰器和类装饰器,他们的区别是一个是...
    99+
    2024-04-02
  • Python中super()的理解以及应用场景实例
    目录一、前言二、什么是super三、super的常用使用场景总结一、前言 最近有粉丝向我咨询super相关的问题,说网上搜索到的教程不够通俗易懂,看了之后还是不太理解。所以在这里基...
    99+
    2024-04-02
  • Vue常用的修饰符及应用场景解读
    目录vue常用的修饰符修饰符的作用表单的修饰符事件修饰符鼠标按钮修饰符键盘修饰符v-bind修饰符应用场景vue常用的修饰符 表单修饰符事件修饰符鼠标按键修饰符键值修饰符v-bind...
    99+
    2022-11-13
    Vue常用修饰符 Vue修饰符 Vue修饰符应用场景
  • Python怎么实现类装饰器及应用
    本篇内容主要讲解“Python怎么实现类装饰器及应用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么实现类装饰器及应用”吧!示例Python中的装饰器既可以是函数也可以是类。在前几...
    99+
    2023-07-06
  • Python编程super应用场景及示例解析
    目录一、什么是super三、super的常用使用场景一、什么是super 1.super也是一个类,是的。他不是一个方法也不是一个内置的关键字。 class A: pas...
    99+
    2024-04-02
  • python装饰器的定义及用法
    本篇内容主要讲解“python装饰器的定义及用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python装饰器的定义及用法”吧!  定义:  本质是函数(装饰其他函数),就是为其他函数添加附加...
    99+
    2023-06-02
  • Angular中的HostBinding和HostListener装饰器的使用场景
    这篇文章主要讲解了“Angular中的HostBinding和HostListener装饰器的使用场景”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Angu...
    99+
    2024-04-02
  • MySQL多实例的配置应用实例场景
    目录MySQL多实例多实例概述什么是多实例:为什么要配置多实例多实例的应用场景配置多实例MySQL多实例 多实例概述 什么是多实例: 在一台服务器上,运行多个数据库服务,这些服务进程...
    99+
    2024-04-02
  • Python 中的装饰器实现函数的缓存(场景分析)
    装饰器模式在以下场景中被广泛应用: 动态地向对象添加职责或行为,而不需要更改对象的代码。例如,可以通过装饰器模式来实现日志记录、性能分析、缓存等功能,而不会影响原始对象的行为。对已有...
    99+
    2023-02-28
    Python装饰器实现函数缓存 Python装饰器实现缓存 Python装饰器
  • python 装饰器详解与应用范例
    什么是装饰器 从字面意思上来看,装饰器是用来装饰其他东西的工具。在python中装饰器分为函数装饰器和类装饰器。 简而言之,函数装饰器是用来装饰函数的装饰器,其主要目的是增加目标函数...
    99+
    2024-04-02
  • Python装饰器的介绍及使用方法
    本篇内容主要讲解“Python装饰器的介绍及使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python装饰器的介绍及使用方法”吧!app = Flask(__name...
    99+
    2023-06-17
  • Discuz的功能及应用场景
    标题:Discuz的功能及应用场景 Discuz是一款广泛应用于社区论坛建设的开源平台,具有丰富的功能和灵活的应用场景。本文将介绍Discuz的主要功能以及在实际应用中的具体场景,并提...
    99+
    2024-03-02
    - 插件 - 论坛 - 社交 用户注册
  • JavaScript尾递归的实现及应用场景
    目录什么是尾递归和递归的差别尾递归的优化应用场景总结什么是尾递归 尾递归是一种特殊的递归,它的特点是在函数的最后一步调用自身,而不是在调用后还有其他操作。尾递归可以有效地避免栈溢出的...
    99+
    2023-05-18
    Javascript尾递归
  • python强大的hook函数使用及应用场景
    目录什么是hook?hook应用场景(一)requests 使用hookmitmproxy 中的hook自己实现hookhook应用场景(二)实现动态调用hook什么是hook? 钩...
    99+
    2023-05-19
    python hook函数使用 python hook
  • Java适配器模式的实现及应用场景
    目录介绍实现总结优点缺点应用场景介绍 Java中的适配器模式是一种结构型设计模式,她将一个类的接口转换成另一个客户端所期望的接口.适配器模式让那些不兼容的类可以一起工作,它通过不兼容...
    99+
    2023-05-17
    Java适配器模式 Java设计模式 Java设计模式适配器模式
  • 实例演示:Python中int()函数的实际应用场景
    Python中的int()函数是用来将字符串或数字转换为整数的内置函数。在编程中,我们经常会遇到需要将字符串或其他类型的数据转换为整数的情况。本文将通过具体的代码示例来演示int()函...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作