首页 > 编程语言 >python装饰器详解

python装饰器详解

时间:2024-12-16 22:53:38浏览次数:4  
标签:python plusnihao sayhello def print 装饰 详解 ifren

一、函数装饰器

 

 #上面是装饰器,下面是原函数   
def ifren(p):    #p是额外带来的参数,因为要带参数p所以多了一层函数嵌套
    def plusnihao(f):
    
        def wraper():  #核心装饰器代码,f代指sayhello函数,是由上一层传入进来的,本层负责增加前后功能
            f()
            print("and nihao")  #添加的功能
            print(p)             #最上层传入进来的,是额外带进来的参数

        return wraper      #返回核心装饰器
    return plusnihao       #因为有参数p,再给核心装饰器装一层皮 返回
     
@ifren(1000)               #额外的参数p。 @后面是装饰器函数名   这句话相当于 ifren(1000)(plusnihao(wraper(sayhello)))
def sayhello():
    print("nihao")

sayhello()           #用原函数运行

 

标签:python,plusnihao,sayhello,def,print,装饰,详解,ifren
From: https://www.cnblogs.com/yaoyue68/p/18611274

相关文章

  • 追踪数字足迹:通过API和离线库查询IP地址的解决方案(详解带源码)
    目录追踪数字足迹:通过API和离线库查询IP地址的解决方案(详解带源码)一、IP地址查询能获取哪些信息1、地理位置信息2、网络信息3、网络类型二、IP地址查询方法,附代码1、在线查询IP地址方法2、使用API进行IP地址查询三、使用离线库进行IP地址查询四、总结作者:watermel......
  • Python系统教程008-条件判断(二)
    知识回顾1、if语句的基本语法?2、常用的比较运算符有哪些?3、注释的分类以及格式4、else处理条件不满足的情况练习:地板上有n个石子,猫头鹰和小兔子正在玩取石子的游戏,从猫头鹰开始,轮流取石子,每次每个动物取走一个石子,猫头鹰能获胜吗?规则如下:流程图:输入格式:一个正整......
  • Python速成脚本小子(附20道基础题)
    当今社会,编程已经成为了一种必备的技能。而Python,作为一门高效简洁的编程语言,备受大家的喜爱。Python语言易学易用,非常适合初学者入门,同时也是各大公司招聘的必备技能之一。那么,如何快速入门Python,成为一个Python速成脚本小子呢?以下是一些建议:1.学习基本语法Python语法......
  • Python中的列表,元组
    列表列表的特点:有序,可重复,长度可变(增删改查),异构,可切片,可遍历。列表的基本语法:列表名=[元素]list=['apple','banana','pineapple']列表的作⽤是⼀次性存储多个数据,并且列表可以存储不同类型的数据一:列表的增删改查:增加:append():增加指定数据到列表中names=['1',......
  • 一文读懂:AI创业和投融资领域常见专有名词缩写详解
    ===预计悦读时间:3分钟|......
  • [python]使用flask-caching缓存数据
    简介Flask-Caching是Flask的一个扩展,为任何Flask应用程序添加了对各种后端的缓存支持。它基于cachelib运行,并通过统一的API支持werkzeug的所有原始缓存后端。开发者还可以通过继承flask_caching.backends.base.BaseCache类来开发自己的缓存后端。官方文档-https:......
  • 如何用编码检测代理ip是否有效?( Python语言)
    基于requests库(简单的HTTP请求检测)首先,需要安装requests库。如果没有安装,可以在命令行中使用pipinstallrequests进行安装。以下是一个简单的函数来检测代理IP是否有效:importrequestsdefcheck_proxy(proxy):try:proxies={"http":"http:/......
  • 使用方法重载实现Python访问者模式
    Python上的访问者模式,看了一下网上其他人的例子,一般都是类似下面的代码。fromabcimportABC,abstractmethod#抽象访问者classAnimalVisitor(ABC):@abstractmethoddefvisit_dog(self,dog:"Dog"):pass@abstractmethodd......
  • 2024ciscn 逆向ezCsky和dump详解
    ezCskyExeinfo看了不是exeIDA分析不了,使用鸡爪Ghidra进行分析。这边顺带讲一下Ghidra的基础操作方法下载Ghidra:https://gitcode.com/gh_mirrors/gh/ghidra_installer下载java11(对版本有要求)打开.bat文件第一次用需要先输入jar文件所在的地址,比如我的就是C:\ProgramFile......
  • Python程序设计——实验与实践
    三、PY_03_03PY_03_06PY_03_07四、PY_04_02PY_04_03PY_04_05PY_04_07PY_04_08......