【python自动化第四篇:python入门进阶】

今天的课程总结:

  1. 装饰器
  2. 迭代器&生成器
  3. json&pickle实现数据的序列化
  4. 软件目录结构规范

一、装饰器

  装饰器的本质是函数,起目的就是用来为其它函数增加附加功能

  原则:不能修改被装饰函数的源代码;被装饰函数的调用方式不能改变 

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import time

##装饰器部分
def timer(func):
    def deco():
        start_time = time.time()
        func()
        stop_time = time.time()
        print("total is %s:"%(stop_time-start_time))
    return deco

@timer    #调用装饰器
def test1():
    time.sleep(1)
    print('test1')

test1()

  要是传入了参数,就利用参数组修改:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import time
def timer(func):
    def deco(*args): 
        start_time = time.time()
        func(*args)
        stop_time = time.time()
        print("total is %s"%(stop_time-start_time))
    return deco
@timer
def test1():
    time.sleep(0.1)
    print("heheheheh")
@timer
def test2(name):
    time.sleep(1)
    print("test2",name)
test1()
test2("wanghui")

 

你可能感兴趣的:(python自动化)