Flask之上下文管理
Posted weidaijie
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask之上下文管理相关的知识,希望对你有一定的参考价值。
上下文管进阶理解
1.偏函数
import functools def index(a1,a2): return a1 + a2 # 原来的调用方式 # ret = index(1,23) # print(ret) # 偏函数,帮助开发者自动传递参数 new_func = functools.partial(index,666) ret = new_func(1) print(ret)
2.执行父类方法
class Base(object): def func(self): print(‘Base.func‘) class Foo(Base): def func(self): # 方式一:根据mro的顺序执行方法 # super(Foo,self).func() # 方式二:主动执行Base类的方法 # Base.func(self) print(‘Foo.func‘) obj = Foo() obj.func() # print(Foo.__mro__)
3、面向对象的特殊方法
一 class Foo(object): def __init__(self): self.storage = {} # object.__setattr__(self,‘storage‘,{}) def __setattr__(self, key, value): print(key,value) obj = Foo() obj.xx = 123 结果 storage {} xx 123 二 class Foo(object): def __init__(self): self.storage = {} # object.__setattr__(self,‘storage‘,{}) def __setattr__(self, key, value): print(key,value,self.storage) # 打印self.storage会报错,因为实例化对象先执行 #init,init中self.storage会触发seattr方法,seattr中的self.storge没有定义 obj = Foo() obj.xx = 123 三 class Foo(object): def __init__(self): # self.storage = {} object.__setattr__(self,‘storage‘,{}) def __setattr__(self, key, value): print(key,value,self.storage) obj = Foo() obj.xx = 123
以上是关于Flask之上下文管理的主要内容,如果未能解决你的问题,请参考以下文章