Python学习 day11

 一、装饰器

  装饰器是在不改变函数调用方式的情况下,需要在函数前后新增功能。有些类似aop,不知道原理是否相同,表现是一样的。

  装饰器严格遵守了“开放封闭原则

1、基本装饰器

def wrapper(func):   # 定义装饰器

    def inner(*args, **kwargs):  # 利用闭包及动态传参构建内部函数
        # 在被装饰函数调用前的代码
        ret = func(*args, **kwargs)  # 调用被装饰函数
        # 在被装饰函数调用后的代码
        return ret
    return inner  # 讲内部函数作为返回值返回


def func1():  # 定义一个被装饰函数
    # 函数内代码
    return


func1 = wrapper(func1)  # 用装饰器装饰func1,此时func1实际指向的是inner
func1()  # 调用func1实际调用的是inner


@wrapper  # 用语法糖的形式装饰
def func2():  # 定义另一个被装饰函数
    # 函数内代码
    return


func2()  # 此时调用func2实际调用的是inner

 

 

二、零散的知识点

1、time模块

import time

print(time.time())  # 返回当前时间的时间戳(1970纪元后经过的浮点秒数)
time.sleep(3)  # 让程序在此挂起,以秒为单位
print(time.time())

    目前先学会使用time模块计时

三、程序设计六大原则

1、开闭原则

  开闭原则是面向对象的可复用设计的第一块基石,它是最重要的面向对象设计原则。开闭原则由Bertrand  Meyer于1988年提出,其定义如下:

开闭原则(Open-Closed Principle, OCP):一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。

2、依赖倒置原则

  如果说开闭原则是面向对象设计的目标的话,那么依赖倒转原则就是面向对象设计的主要实现机制之一,它是系统抽象化的具体实现。依赖倒转原则是Robert C. Martin在1996年为“C++Reporter”所写的专栏Engineering Notebook的第三篇,后来加入到他在2002年出版的经典著作“Agile Software Development, Principles, Patterns, and Practices”一书中。依赖倒转原则定义如下:

依赖倒转原则(Dependency Inversion Principle, DIP):抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而不是针对实现编程。

 

posted @ 2018-09-21 17:38  蜜酥糖糖糖丶  阅读(112)  评论(0编辑  收藏  举报