开放封闭原则
开发:对于未存在的开放
封闭:对于已存在的代码封闭
装饰器
1、装饰器就是一个函数,至少2层
2、
执行auth函数,被装饰的函数作为参数auth(foo)
auth函数的返回值,赋值给被装饰的函数的函数名
@auth
def foo():
pass
3、动态参数,可以装饰含有n个参数的函数
4、函数返回值
5、多装饰器
6、多层装饰器。
def Filter(a1,a2):
def outer(main_func):
def wrapper(request,kargs):
print a1
main_result = main_func(request,kargs)
print a2
return main_result
return wrapper
return outer
@Filter(f5, f6)
def Index(request,kargs):
print 'index'
1、装饰器是一个函数,至少2层
2、
执行auth函数,被装饰的函数作为参数auth(foo)
auth函数的返回值,赋值给被装饰的函数的函数名
@auth
def foo():
pass
3、动态参数,可以装饰含有n个参数的函数
4、函数返回值
5、多装饰器 --> 盒子模型
6、至少3层,3层的如何使用?
@w1
1、执行w1函数
2、将w1函数的返回值赋值给被装饰的函数的函数名
@w2(arg)
1、执行w2函数,得到返回值,ret
2、创建装饰器,@ + ret结合;@ret
3、。。。
1、执行ret函数
2、将ret函数的返回值赋值给被装饰的函数的函数名
远程模块 paramiko
模块定义
实现某功能,且是实现的所有代码的集合
存在方式
1、py文件
2、文件夹
查看Python默认寻找模块位置
sys.path
自动添加文件所在路径到path列表
普通的文件夹不能成为模块,需要有__init__.py ,才能被导入,才有可能成为模块。这个文件一般为空
1、加密
2、装饰器
3、商品分类
configpres