python为被装饰的函数保留元数据方法


当前第2页 返回上一页

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

#!/usr/bin/python3

  

import time

from functools import (wraps, update_wrapper, WRAPPER_ASSIGNMENTS, WRAPPER_UPDATES)

  

  

def count_time(func):

  """

  给目标函数加上计算运行时间统计

  """

  # 这个装上器和update_wrapper一样,默认参数WRAPPER_ASSIGNMENTS, WRAPPER_UPDATES

  @wraps(func)

  def wrapper(*args, **kwargs):

    start_time = time.time()

      

    # 定义result接收函数返回值,并且在装饰函数最后返回回去

    resutl = func(*args, **kwargs)

    print('运行时间:', time.time()-start_time)

    return resutl

    

  # 其中默认参数 WRAPPER_ASSIGNMENTS, WRAPPER_UPDATES

  # update_wrapper(wrapper, func)

  return wrapper

  

  

@count_time

def add(num=100):

  """

  计算 0~num 累加值,默认num=100

  """

  time.sleep(1)

  return sum([x for x in range(num+1)])

  

if __name__ == '__main__':

  print('函数名:', add.__name__)

  print('属性字典:', add.__dict__)

  print('函数默认参数:', add.__defaults__)

  print('函数所在模块:', add.__module__)

  print('函数文档:', add.__doc__)

    

  # 打印两个默认参数

  print(WRAPPER_ASSIGNMENTS, WRAPPER_UPDATES)

  result = add()

  print(result)


以上就是python为被装饰的函数保留元数据方法的详细内容,更多文章请关注木庄网络博客!!

返回前面的内容

相关阅读 >>

Python中定义类的关键字是什么

初学者编写Python用什么软件

学习Python安装什么

Python字典的用法详解(附示例)

Python如何绘制心形

Python使用opencv进行标定

Python单引号和双引号的区别

Python写的贪吃蛇游戏例子_Python

一种解释型语言--Python的介绍

Python中x[::]什么意思

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...