AST的故事

AST中文叫做抽象语法树, 也就是分析当前版本的python代码的语法, 用一种树的结构解析出来. 这个模块提供给我们一个在编译代码之前, 用python语言本身去修改.

它的作者是Armin Ronacher. 如果你听过或者觉得似曾相识, 对. 他就是mitsuhiko - flask的作者. 也是pocoo的leader之一(另外一个是看起来不知名的birkenfeld - 对我来说他很有名).

那么AST有什么意义呢? 但是有绝大多数人其实不了解也用不到这个模块, 为什么呢?

出现需要对代码默认行为做更改的场景很少,它主要用来做静态文件的检查, 比如pylint, pychecker,以及写flake8插件. 而我们平时的写代码都是在运行不需要进行预先的语法检查之类, 那么实际接触它就很难得了.

阅读原文 »

2 收藏


直接登录

推荐关注