• Python基础-装饰器


    定义:装饰器本质是函数,它用于装饰其他函数(就是为其他函数添加附加功能)
    原则:
    1. 不能修改被装饰的函数的源代码
    2. 不能修改被装饰的函数的调用方式
    装饰器预备知识:
    1. 函数名即“变量”
    2. 高阶函数
      1. 把一个函数名当做实参传给另一个函数(在不修改被装饰函数源码的情况下为其添加功能)
      2. 返回值中包含函数名(不修改函数的调用方式)
    3. 嵌套函数
    4. 高阶函数+嵌套函数==装饰器
    示例:
    #!usr/bin/env python
    # -*- coding:utf-8 -*-
    import time
    def deco(func):
        def wrapper(*args,**kwargs): #*args,**kwargs可以实现myfunc传出任意参数
            start_time = time.time()
            res = func(*args,**kwargs)
            end_time = time.time()
            print("elapsed time %s"%(end_time-start_time))
            return res    #如果func有返回值那么将其返回
        return wrapper
    @deco    #等价于 myfunc = deco(myfunc)    如果还想想装饰器中传入其他参数,那么可以在deco后传入参数 例如:deco("xxx"),同时装饰器要增加一次函数嵌套,且通过deco传入的参数应位于最外层即
    decorator("xxx")
    def myfunc():
        time.sleep(3)
        print("in myfunc")
    myfunc()
     
  • 相关阅读:
    HDFS上传下载API
    HDFS2.X新特性:HA和Federation联盟
    HDFS2.X架构及工作原理
    浅析Secondary NameNode与namenode
    Flink安装部署
    HDFS基本命令行操作与简单API实用
    Linux基础_Hadoop环境搭建必备
    HBase BlockCache机制讲解
    HDFS集群安装部署
    我亦未曾饶过岁月_面试总结
  • 原文地址:https://www.cnblogs.com/chiang97912/p/7233481.html
Copyright © 2020-2023  润新知