关于python all(itrable)的使用 和列表表达式使用以及复习一下短路效应。

其实现在来看 并不是什么高级特性。

但是当时看到🔦大神 写出这个式子的时候还是有点小惊叹。先上式子

all([g.me.has_privilege(p) for p in privilege_id_list]) or abort(401)

这里all 函数 可以接受一个list或者tuple 如果有参数就返回True 如果为空就返回False

这里使用列表表达式循环判断权限。如果为真的话就会返回真 那么式子就可以继续下去 如果第一个为false 那么就会执行abort(401)也就成功达到了效果。

 

贴一个 我写的臃肿的代码 对比一下 不得不 orz..继续好好学习啊。

-            for privilege in privilege_id:
-                if not g.me.has_privilege(privilege):
-                    return abort(401)

 

posted @ 2015-12-15 11:10  piperck  阅读(357)  评论(1编辑  收藏  举报