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

python装饰器

时间:2023-11-17 14:57:50浏览次数:32  
标签:shopping 函数 python -- func print 装饰

装饰器

概念:可以在不修改原来代码的情况下(函数原有的功能或者类原有的功能),为需要被装饰的函数或者类增加新的功能或者添加限制调剂以及帮助输出

常用种类

  • 函数的装饰器
  • 类的装饰器
  • 不管是哪种 类型的装饰器设计模式原则是:开放封闭的原则(对外扩展开发,对内关闭修改)

1.1 装饰器的定义

装饰器的必要构成条件

  • 装饰器本身是一个函数
  • 装饰器的返回值一定是一个函数的引用(函数的名字)
  • 装饰器只能必须一定是只有一个形参
  • 形参是用来接收函数的引用(需要被装饰的函数的名字)

装饰器本质上是一个闭包函数

 1 #装饰器实现登录
 2 def check(func): # func=shopping
 3     def inner():
 4          print("开始进入登录页面")
 5          print("扫码登录")
 6          print("登录成功")
 7          func()   #func=shopping func()=shopping()
 8     return innner
 9 
10 
11 #原有的购物功能
12 def shopping():
13     print("商品加入购物车")
14     print("付款")
15 
16 
17 #原始使用方式:调用装饰器,传递需要被装饰的函数作为实参
18 shopping1=check(shopping)  # 2---3(inner函数不会被执行,但是加载到内存)--8--18
19 #check(shopping)返回结果:shopping1=inner
20 shopping1() #shopping1()=innner() 3-4-5-6-7--12--13--14

 

标签:shopping,函数,python,--,func,print,装饰
From: https://www.cnblogs.com/lgs-tech/p/17838363.html

相关文章

  • 【Python入门教程】Python中类的用法和意义
    ​        在Python中,类是一种重要的面向对象编程概念。它们为我们提供了一种方法,可以将现实世界中的对象抽象为代码中的类,并通过类创建对象的实例。类定义了对象的结构和行为,使我们可以构建复杂的程序和数据模型。一、类的定义        在Python中,类的定义使......
  • python-tkinter去除命令日志
    Python打包exe文件后,执行exe文件总会打开命令行窗口,通过查找相关解决的方法,经过亲测,介绍几种可行的方案。修改文件名后缀将.py文件改成.pyw文件(使用的是脚本解析程序pythonw.exe)修改打包命令pyinstaller-i添加图标        -w去除命令行解决报错AttributeError......
  • Python 中将 None 转换为 0
    如何在Python中将None转换为0–码微(mwell.tech)some_number=Noneresult=some_numberor0print(result)#......
  • Python模块的搜索路径
    在Python中,模块搜索路径是指解释器用来查找导入模块的位置列表。了解和掌握Python模块搜索路径对于正确导入模块和管理模块的位置至关重要。Python模块搜索路径的主要来源包括当前目录、Python标准库目录和用户自定义的目录。你可以通过sys模块中的sys.path来查看和修改模块搜索......
  • Communication Setup中VCDL与Python交互
     ApplicationMoudles基础代码[email protected]_scriptclassLinkToSigFile:#Calledbeforemeasurementstarttoperformnecessaryinitializations,#e.g.tocreateobjects.Duringmeasurement,fewadditionalobjects......
  • python有用链接
    Python处理日期方法大全、三十种方法 Python中的13个搔操作    ......
  • python Day13
    三种名称空间的介绍 名称空间的嵌套关系 全局作用域 局部作用域 在局部修改全局的名字对应的值:global x修改函数外层函数包含的名字的对应的值:nonlocal ......
  • 大白话说Python+Flask入门(一)
    写在前面技术这东西就得用,不用就会忘,之前写博客感觉就是给自己记笔记用,还有大部分,估计睡在语雀里都落灰了,哈哈!在Python领域,我觉得我还是算个小白吧,会写讲不明白,所以我决定想做一件事,先搞下flask这部分教程,看看能给大家说明白吗,真的感觉和Java有很大区别,废话不多说了,开整!安装依......
  • 简单的用Python爬取虎牙舞蹈区视频,真让人看了脸红~
    表弟自从学会了Python,每天一回家就搁那爬视频,不知道的以为是在学习,结果我昨天好奇看了一眼,好家伙,在那爬某牙舞蹈区,太过分了!为了防止表弟做坏事,我连忙找了个凳子坐下,跟他一起欣赏~啊呸,不对,监督他!当然,作为一个大公无私的人,好东西怎么能独享呢?这不立马就给大家分......
  • 盘点一个Python自动化办公需求之word文档图片自动插入
    大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Python自动化办公的问题,一起来看看吧。下面还给出了他的代码。二、实现过程这里【瑜亮老师】给了一个思路:如下所示:顺着这个思路,粉丝写了一份代码,但是在循环部分好像还存在些问题。后来【瑜亮老师......