美文网首页
[python面试题] 装饰器是什么,有什么功能,能用在什么业务

[python面试题] 装饰器是什么,有什么功能,能用在什么业务

作者: 猫茂懋 | 来源:发表于2018-04-21 17:01 被阅读0次


业务场景

1.登录判断装饰器:

    之前做过的一个用flask框架实现的移动app项目,里面大量用到是否已经登录的判断,如果这个业务逻辑大量重复地写在视图函数,代码的复用性很差,因此我将登录判断封装成装饰器,然后用这个装饰器装饰每一个需要验证是否登录的视图函数,代码如下:

2.事务原子性判断装饰器

    之前用django框架做过订单提交功能,因为订单数据保存到数据库必须保持事务一致性,即所有数据要不全部提交成功,要不就回退到最开始的状态,用的是django自带的装饰器@transaction.atomic,在事务开始前打下一个点:transaction.savepoint(),相当于游戏的存档点,如果全部提交成功就保存到数据库,否则就回退到存档点;

相关文章

网友评论

      本文标题:[python面试题] 装饰器是什么,有什么功能,能用在什么业务

      本文链接:https://www.haomeiwen.com/subject/asnxlftx.html