• day11-15,装饰器


    day11

    1、装饰器

     1 import time
     2 # print(time.time())      # 点数前边是从1970年到现在过了多少秒
     3 # time.sleep(10)      # 让程序执行到这里停一会儿
     4 
     5 
     6 #
     7 # # print(time.time())      # 点数前边是从1970年到现在过了多少秒
     8 # # time.sleep(10)      # 让程序执行到这里停一会儿
     9 #
    10 #
    11 # # 增加功能
    12 # def timer(f):  # 装饰器函数
    13 #     def inner():
    14 #         start = time.time()
    15 #         ret = f()  # 被装饰的函数
    16 #         end = time.time()
    17 #         print(end - start)
    18 #         return ret
    19 #     return inner
    20 # @timer      # 语法糖,不用下边的那个调用函数
    21 # def func():
    22 #     time.sleep(1)
    23 #     print('大家哈')
    24 #     return '新年好'
    25 # 调用函数
    26 # func = timer(func)
    27 
    28 
    29 # print(func())
    30 
    31 # 原则:开放封闭原则
    32 #   开放:对扩展是开放的
    33 #   封闭:对修改是封闭的
    装饰器的基础使用

    2、带参数的函数装饰器

     1 # 装饰带参数函数装饰器
     2 # def timer(f):  # 装饰器函数
     3 #     def inner(*args, **kwargs):
     4 #         start = time.time()
     5 #         ret = f(*args, **kwargs)  # 被装饰的函数
     6 #         end = time.time()
     7 #         print(end - start)
     8 #         return ret
     9 #
    10 #     return inner
    11 #
    12 #
    13 # @timer  # 语法糖,不用下边的那个调用函数
    14 # def func(a, b):
    15 #     time.sleep(1)
    16 #     print('大家哈', a, b)
    17 #     return '新年好'
    18 #
    19 #
    20 # @timer
    21 # def funcl(a):
    22 #     time.sleep(1, )
    23 #     print('大家哈', a)
    24 #     return '新年好'
    25 #
    26 #
    27 # func('你好', b=8)
    28 # funcl('hello')
    带参数的装饰器(*args,**args)

    3、装饰器的固定模式

     1 # 固定模式
     2 
     3 def wrapper(f):  # 装饰器函数,fhi被装饰的函数
     4     def inner(*args, **kwargs):
     5         '''在被装饰函数之前要做的事'''
     6         ret = f(*args, **kwargs)    # f是被装饰的函数
     7         '''在被装饰函数之后要做的事'''
     8         return ret
     9     return inner
    10 
    11 
    12 @wrapper  # 语法糖,不用下边的那个调用函数
    13 def func(a, b):
    14     time.sleep(1)
    15     print('大家哈', a, b)
    16     return '新年好'
    装饰器的固定模式

    day12

    1、

  • 相关阅读:
    Path Sum
    【转】Python的神奇方法指南
    【转】浅析Python中的struct模块
    【转】Python之系统交互(subprocess)
    【转】Win10下python3和python2多版本同时安装并解决pip共存问题
    【转】python包导入细节
    【转】python 历险记(四)— python 中常用的 json 操作
    【转】python模块导入细节
    【转】python 内置函数总结(大部分)
    【转】MySQL-Select语句高级应用
  • 原文地址:https://www.cnblogs.com/-xuan/p/9997959.html
Copyright © 2020-2023  润新知