今日内容

1、有参装饰器

2、无参装饰器

什么是装饰器?

  用来为被装饰对象添加新功能的工具。

  注:装饰器可以是任意可调用对象,被装饰对象也可以是任意可调用对象。

为何要用装饰器?

  开放封闭原则:对修改封闭,对扩展开放

  装饰器的实现需要遵循两大原则:

  1、不修改被装饰对象的源代码

  2、不修改装饰器对象的调用方式

有参装饰器模板:

def outter(func):

  def warpper(*args,**kwargs):

    res=func(*args,**kwargs)

    return res

  return warpper

无参装饰器模板:

def auth(a,b,c):

  def outter(func):

    def warpper(*args,**kwargs):

      res = func(*args,**kwargs)

      return res

    return warpper

  return outter

day11有参装饰器,无参装饰器的更多相关文章

  1. python装饰器无参及有参案例

    装饰器无参和有参案例:

  2. JAVA基础——构造函数方法总结(有参构造和无参构造)

    使用构造器时需要记住: 1.构造器必须与类同名(如果一个源文件中有多个类,那么构造器必须与公共类同名) 2.每个类可以有一个以上的构造器 3.构造器可以有0个.1个或1个以上的参数 4.构造器没有返回 ...

  3. Python 装饰器(无参,有参、多重))

    Python装饰器介绍 在Python中,装饰器(decorator)是在闭包的基础上发展起来的. 装饰器的实质是一个高阶函数,其参数是要装饰的函数名,其返回值是完成装饰的函数名,其作用是为已经存在的 ...

  4. Java子类初始化调用父类无参构造

    实在是服了自己,子类初始化调用父类无参构造这种初学者都应该知道的事,我给忘了. 记得当初看书的时候各种概念抄在笔记本上,再上机实践,以为一辈子都不会忘,还是给忘了. 这件事说明了两个问题: 1.我没有 ...

  5. PYTHON-有参装饰器,无参装饰器,语法糖

    装饰器 装饰器就是闭包函数的一种应用场景 一 为何要用装饰器 #开放封闭原则:对修改封闭,对扩展开放 二 什么是装饰器 装饰器他人的器具,本身可以是任意可调用对象,被装饰者也可以是任意可调用对象. 强 ...

  6. python语法糖之有参装饰器、无参装饰器

    python的装饰器简单来说就是函数的一种形式,是为了扩展原来的函数功能而设计的. 装饰器的特别之处在于它的返回值也是一个函数,可以在不改变原有函数代码的基础上添加新的功能 # 先定义一个函数及引用# ...

  7. python函数之闭包函数与无参装饰器

    一.global与nonlocal #global x = 1 def f1(): global x # 声明此处是全部变量x x = 2 print(x) f1() # 调用f1后,修改了全局变量x ...

  8. Python函数07/有参装饰器/多个装饰器装饰一个函数

    Python函数07/有参装饰器/多个装饰器装饰一个函数 目录 Python函数07/有参装饰器/多个装饰器装饰一个函数 内容大纲 1.有参装饰器 2.多个装饰器装饰一个函数 3.今日总结 3.今日练 ...

  9. CLR via C#(11)-无参属性、有参数属性(索引器)

    一. 无参属性 1. 定义属性 无参属性就是我们最常见的属性方式,在赋值时可以加入一定的逻辑判断.属性的定义其实不复杂,先看个直观的例子: 说明: 属性要定义名称和类型,且类型不能是void. 属性是 ...

随机推荐

  1. __repr__与__str__

    首先我们来举个例子,定义一个长方行类Cuboid,长为x,宽为y,高为z class Cuboid: def __init__(self, x = 3, y = 1, z = 2): self.x = ...

  2. Python环境下如何安装爬虫需求的一些库

    是在CMD环境下的: request库pip install request 回车 pandas库 同理,pip install pandas :这里需要声明下,这个是不一定成功的,刚入门稍微看了一点 ...

  3. git中设置代理,本地不使用代理,针对域名设置代理

    想要的效果是: [1]本地IP不使用代理 [2]外网的仓库(如GitHub)使用代理 [3]适用于全局 方案 打开路径: C --> 用户 --> [我的账号] --> .gitco ...

  4. python2编码的问题

    1,python2的默认编码是ascii码. 2,python2中有2中数据模型来支持字符串这种数据类型,分别为str和unicode. 3,uncode转换为其他编码是encode,其他编码转换成u ...

  5. Python tuple

    元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表 语法 names = (a,b,c) 它只有2个方法,一个是count,一个是index. 当然也有可变元祖: 可 ...

  6. 转:.Net内存泄露原因及解决办法

    1.    什么是.Net内存泄露 (1).NET 应用程序中的内存 您大概已经知道,.NET 应用程序中要使用多种类型的内存,包括:堆栈.非托管堆和托管堆.这里我们需要简单回顾一下. 以运行库为目标 ...

  7. python执行sql语句

    dbname = 'db.sqlite3' dbpath = 'D:\\pyweb\\sf\\db.sqlite3' csvpath = pspath #custom thread number tn ...

  8. UNIX高级环境编程(10)进程控制(Process Control)- 竞态条件,exec函数,解释器文件和system函数

    本篇主要介绍一下几个内容: 竞态条件(race condition) exec系函数 解释器文件    1 竞态条件(Race Condition) 竞态条件:当多个进程共同操作一个数据,并且结果依赖 ...

  9. orcl 中upper()和lower()和initcap()的用法

    upper(字符串 | 列):输入的字符串变为大写返回: 将 bqh4表里的zym字段信息中含有字母的全部转成大写的方法: select * from bqh4 select upper(zym) f ...

  10. Java中字符数组、String类、StringBuffer三者的相互转换

    一.StringBuffer与String的相互转换 1.将StringBuffer转换成String StringBuffer类成员toString函数可将其转换成String类型. StringB ...