装饰器在编写后台的逻辑时有可能会用到,比方说一个场景:公司的员工想要登录自己公司的考勤记录系统去修改自己的考勤,以前是随便谁都有权限去修改,这样老板不同意了,现在,要在你登录前加一个权限验证的逻辑,如果你权限没有达到等级要求,你就不能登录系统去修改自己的考勤记录。如何在不改动原函数的情况下去增加这部分权限验证的功能呢?这就用到的装饰器函数。

装饰器函数的一大有点就是,在不改动原函数的基础上,去给函数增加新的功能。

装饰器有两种,一种是没有参数的,一种是有参数的,本示例两种装饰器都有,不过只运行了有参数的。

有关用法和解释在代码中已经注释。下面是一个例子。

运行结果:请输入你的姓名:赵总

正在对赵总进行权限验证

验证通过

尊敬的赵总, 现在您可以登录管理系统进行管理

# 这可是领导,老板要查岗,必须得通过啊

请输入你的姓名:钱经理

正在对钱经理进行权限验证

验证通过

尊敬的钱经理, 现在您可以登录管理系统进行管理

# 这是顶头上司,也要好好巴结一下

请输入你的姓名:小王

正在对小王进行权限验证

对不起,小王,您没有权限登录,请有点自知之明。

# 这是同事,说话比较随意

请输入你的姓名:老李

你tm是谁啊,数据库里都找不到你,滚犊子。

# 这不是我们公司员工 ,不用客气

请输入你的姓名:

python3装饰器例子_python3装饰器用法示例相关推荐

  1. python3装饰器例子_python 装饰器(三):装饰器实例(一)

    示例 7-15 定义了一个装饰器,它会在每次调用被装饰的函数时计时,然后把经过的时间.传入的参数和调用的结果打印出来. 示例 7-15 一个简单的装饰器,输出函数的运行时间 importtimedef ...

  2. python3装饰器例子_Python装饰器几个有用又好玩的例子

    装饰器是一种巧妙简洁的魔术,类似于Java中的面向切面编程,我们可以再函数执行前.执行后.抛出异常时做一些工作.利用装饰器,我们可以抽象出一些共同的逻辑,简化代码.而简化代码的同时,就是在增加代码鲁棒 ...

  3. python3 装饰器_Python3 装饰器

    一 什么是装饰器呢? 装饰器本质上来说就是函数,功能就是为其它函数添加附加功能. 原则: 不修改被修饰函数的源代码 不修改被修饰函数的调用方式 组织结构: 装饰器=高阶函数+函数嵌套+闭包 实例1(P ...

  4. python装饰器实例-Python装饰器实用例子

    Python里我们经常能见到@开头的句法,也就是人们常说的装饰器(decorator).装饰器是Python非常重要的一部分,能够产出更易于维护的代码.这篇文章会给大家带来装饰器的介绍以及几个实用的例 ...

  5. python装饰器实例-Python装饰器原理与简单用法实例分析

    本文实例讲述了Python装饰器原理与简单用法.分享给大家供大家参考,具体如下: 今天整理装饰器,内嵌的装饰器.让装饰器带参数等多种形式,非常复杂,让人头疼不已.但是突然间发现了装饰器的奥秘,原来如此 ...

  6. python装饰器实例-Python装饰器用法实例总结

    本文实例讲述了Python装饰器用法.分享给大家供大家参考,具体如下: 一.装饰器是什么 python的装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能, ...

  7. python 装饰器 参数-python函数装饰器之带参数的函数和带参数的装饰器用法示例...

    本文实例讲述了python函数装饰器之带参数的函数和带参数的装饰器用法.分享给大家供大家参考,具体如下: 1. 函数带多个参数 # 普通的装饰器, 打印函数的运行时间 def decrator(fun ...

  8. python装饰器原理-python装饰器原理和用法总结

    原理 装饰器本质也是一个函数, 只不过这个函数需要遵循以下规则: 入参只能有一个,类型为函数. 被装饰的函数将入会被传入这个参数 返回值是必须是一个函数, 届时被调用的时候实际上调用的是返回出来的这个 ...

  9. python装饰器-Python @函数装饰器及用法(超级详细)

    前面章节中,我们已经讲解了 Python 内置的 3 种函数装饰器,分别是 @staticmethod.@classmethod 和 @property,其中 staticmethod().class ...

  10. python装饰器作用-Python装饰器用法实例总结

    一.装饰器是什么 python的装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象.简单的说装饰器就是一个用来返回函数的函数 ...

最新文章

  1. OData元数据在浏览器里以Feed视图显示的解决办法
  2. Android开发之Android studio4.1查看app布局的方法 | 使用布局检查器和布局验证工具调试布局
  3. 模板:什么是Traits
  4. eovs实训报告总结心得_实训总结与心得体会3篇_心得体会
  5. 查询用户分配角色TCODE
  6. java 常量 内存分配_Java内存分配之堆、栈和常量池
  7. 计算机辅助外文文献,计算机辅助夹具设计外文文献.pdf
  8. 服务化改造实践(二)| Dubbo + Kubernetes
  9. linux部署redis详细步骤
  10. csgo 机器人模式_分享一个休闲模式机器人Bug
  11. win8.1重装系统计算机管理打不开,Windows8计算机打不开192.168.0.1怎么办
  12. python 进度条_6种酷炫Python运行进度条
  13. oracle 表查询(1)
  14. Linux系统下卸载VMware Workstation软件
  15. java毕业设计老师评语_java教学评价管理系统毕业设计答辩PPT.ppt
  16. 在SpringBoot中实现通用Auth认证,有哪几种方式?
  17. 计算机芯片级维修包括哪些,计算机芯片级维修中心(芯片级维培训教材)b.doc
  18. 经典逻辑题:猜牌问题——网上的结论是没问题的
  19. 人脸识别(一)调用face++实现人脸检测
  20. mysql5.7对应jdbc驱动版本_mysql5.7.11对应的JDBC驱动是哪个版本

热门文章

  1. C语言 第六章 多重循环练习
  2. Spring中为什么实体类不用注入
  3. 需求文档2_The Battle of Polytopia
  4. Mybatis中的update动态SQL语句
  5. input输入框提示
  6. eclipse代码加版权头插件
  7. 开机后网络连接迟迟没有反映是怎么回事?
  8. Netty自带的心跳机制——IdleStateHandler
  9. List、Set和Map的简单理解
  10. SpringAop源码一:通知方法优先级