python 装饰器及使用场景

news2024/9/22 21:25:47

1. 装饰器的理解

上面这种用装饰器的效果和下面这种是一样的,两个圈起来的是等价的,只是写法不一样,用@装饰器函数 更简洁一些。

总的来说,装饰器的作用是:当定义一个函数的时候,通过在其上面加上@装饰器,在不改变其原本定义的代码的基础上,能够改变(通常是增加)函数的作用。

@装饰器  def func() 和  def func(),在调用的时候都是func(), 但实际上两个func()的作用已经是不同的了。

如果是对于被装饰的函数有参数的,这样怎么写装饰器函数呢?见下面的链接

如何在 Python 中创建和使用装饰器(含示例)

可以使用装饰器的关键点还是,在python中,函数名可以像变量一样作为参数进行传递。

2.装饰器的使用场景:

现在了解到的,可以用在打印日志,或者打印一些被装饰的func相关的信息等,可见链接里的例子。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1964532.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C:关于位操作符:、|、^、~的一些应用

一些用来熟悉位操作符的应用 一、按位异或:^ 异或运算:相同为0,相异为1 应用:在不引入临时变量(第三变量)的情况下,实现两个整数的交换。 关于两个整数交换,我们有一些方法&…

Docker Compose部署项目+使用

目录结构 - suggestion/- backend/ # 我的后端项目- app.py- other_files/- docker-compose.yml- Dockerfile- requirements.txt获得requirements.txt 命令行输入:pip list --formatfreeze > requirements.txt 因为使用 pip freeze > requirements.txt 导出…

创建了Vue项目,需要导入什么插件以及怎么导入

如果你不知道怎么创建Vue项目,建议可以看一看这篇文章 怎么安装Vue的环境和搭建Vue的项目-CSDN博客 1.在idea中打开目标文件 2.系在一个插件Vue.js 3.下载ELement UI 在Terminal中输入 # 切换到项目根目录 cd vueadmin-vue # 或者直接在idea中执行下面命令 # 安装element-u…

漏洞打靶-tomato

这是一个很有意思的靶场,靶机的安装过程请参考我的文章“漏洞打靶-hackme”,进入靶场后,迎面而来的就是一个大tomato,然后就无从下手了,查目录查不出来,sql注入也没地方注入 这时候我们可以用kali的nmap去查…

ARM学习(29)NXP 双coreMCU MCXN94学习

笔者来介绍一下NXP 双core板子 ,新系列的mcxn94 1、MCX 新系列介绍 恩智浦 MCU 系列产品包括 Kinetis 、LPC 系列,以及 i.MX RT 系列,现在又推出新系列产品 MCX 产品,包括四个系列,目前已经发布产品的是 MCX N 系列。…

第十四天7.25(git)

1.git 1.git功能特性 1.克隆数据库版本:从服务器上克隆数据库本机上 2.提交代码:在本机上自己创建的分支上提交代码 3.合并分支:在本机上合并分支 4.拉取合并分支:新建一个分支,把服务器上最新的代码Fetch下来&…

微软工具合集 | Microsoft PowerToys v0.83.0

PowerToys是由微软开发的一款免费系统工具集,专为Windows 10和Windows 11系统设计。它提供了一系列高效实用的工具,旨在帮助用户提升操作系统的使用效率和个性化程度。PowerToys工具集深受系统管理员和高级用户的喜爱,通过集成多种工具&#…

XXE -靶机

XXE靶机 一.扫描端口 进入xxe靶机 1.1然后进入到kali里 使用namp 扫描一下靶机开放端口等信息 1.2扫描他的目录 二 利用获取的信息 进入到 robots.txt 按他给出的信息 去访问xss 是一个登陆界面 admin.php 也是一个登陆界面 我们访问xss登陆界面 随便输 打开burpsuite抓包 发…

《深入浅出WPF》学习笔记二.为对象属性赋值的三种方式

《深入浅出WPF》学习笔记二.为对象属性赋值的三种方式 WPF用户图形界面是树状结构 👆wpf文档大纲 👆winform文档大纲 wpf的用户图形界面是树状结构,与winform不同点在于,winform同样存在树状结构的控件(比如panel、gridcontrol等…

Wi-Fi、WLAN、Bluetooth、zigbee、蜂窝网络、4g5g、MQTT

为什么打开手机的WiFi连接,显示的是WLAN? 分清Wi-Fi、WLAN、Bluetooth、zigbee、蜂窝网络、4g5g、MQTT这些概念. 一、WLAN、WIFI、WAPI WLAN是利用无线通信技术在局部区域内构建的网络,家庭/办公室里的网络就是一个WLAN,WLAN是一…

【数据结构】Java实现二叉搜索树

二叉搜索树的基本性质 二叉搜索树(Binary Search Tree, BST)是一种特殊的二叉树,它具有以下特征: 1. 节点结构:每个节点包含一个键(key)和值(value),以及指…

大语言模型中的提示隐私保护

大语言模型中的提示隐私保护 一、简介: 大语言模型(LLM) 拥有庞大的规模、预先训练的知识和卓越的性能,被广泛应用于各种任务。提示学习(prompt learning)和指令微调(instruction tuning) 是两种重要的使得大模型能理解具体任务…

决策树基础

概述 决策树是一种树型结构,其中每个内部结点表示在一个属性上的测试,每个分支代表一 个测试输出,每个叶结点代表一种类别。决策树学习采用的是自顶向下的递归方法,其基本思想是以信息熵为度量构造一棵熵值下降最快的树&#xff…

自学Java第16Day

学习目标:面向对象进阶 学习内容:Object、Objects、BigInteger、BigDecimal、正则表达式 学习时间:下午 3 点-下午 6 点 学习产出: 1. Object类 1.1 概述 查看API文档,我们可以看到API文档中关于Object类的定义如下&…

【SpringBoot3】场景整合(实战)

0 环境准备 0.0 云服务器 阿里云、腾讯云、华为云 服务器开通; 按量付费,省钱省心 安装以下组件:docker、redis、kafka、prometheus、grafana 下载windterm: https://github.com/kingToolbox/WindTerm/releases/download/2.5…

React-Native 宝藏库大揭秘:精选开源项目与实战代码解析

1. 引言 1.1 React-Native 简介 React-Native 是由 Facebook 开发的一个开源框架,它允许开发者使用 JavaScript 和 React 的编程模型来构建跨平台的移动应用。React-Native 的核心理念是“Learn Once, Write Anywhere”,即学习一次 React 的编程模型&am…

《LeetCode热题100》---<5.普通数组篇六道>

本篇博客讲解LeetCode热题100道普通数组篇中的六道题 第一道:最大子数组和(中等) 第二道:合并区间(中等) 第一道:最大子数组和(中等) 法一:贪心算法 class So…

文件上传漏洞--之upload-labs靶场(第1关到第5关)专栏更新ing.....

第一关&#xff1a; 第一步&#xff1a;新建一个木马文件muma.php 第二步&#xff1a;在木马文件中写入一句话木马访问php主页 <?php eval(phpinfo());?> ​ 第三步&#xff1a;直接上传试一下 现上传一个png格式文件查看一下 然后上传一句话木马文件的&#xff0c;…

C:图案打印

引言 本篇文章讲了一些常见的图形编程题&#xff0c;并总结了一些规律。 1、打印空心正方形 1.1 代码展示&#xff1a; #include<stdio.h> int main() {int a 0;//边长初始化scanf("%d", &a);//输入边长的值{int i 0;for (i 0; i < a; i)//控制行…