Python3.9将支持把AST对象转换回Python代码
诗书塞外 Python程序员 编译器是如何解析Python代码的?这个问题对于很多程序员来说,还是不太清楚的。不过即便你不清楚,在Python中你依旧可以解析Python源代码,并得到一个封装好的对象。在这个对象中,你可以遍历代码中定义的类和函数。帮你完成这个解析工作的模块叫做ast,它是一个标准库模块,也就是说不用安装依赖直接可用的。
ast模块对于我来说有什么用途呢?是否有一个生动的案例能够说明下它的使用方法呢?有的,刚好前几天我们发过一篇有关ast使用的文章,链接在这里:《在Python中从源文件和行号查找定义》
ast模块可以帮助你把Python源代码解析成一个AST对象,而Python3.9的一个新特性厉害了,它还能帮你把一个AST对象还原为一段Python源代码,就像这样:
>>> import ast >>> print(ast.unparse(ast.parse('1 + 1'))) (1 + 1)
有了这个特性,如果你制作代码工具一类的软件,就能轻易地在合适的位置显示所涉及的函数的代码了。
目前Python3.9刚刚启动开发,预计明年10月发布。此特性的Pull Request地址是:https://github测试数据/python/cpython/pull/17302。CPython项目的Github地址是:https://github测试数据/python。有兴趣的同学可以深入探究下。
群统计 小调查:作为一名程序员,你是计算机专业出身么?你熟悉编译原理吗?
小程序
查看更多关于Python3.9将支持把AST对象转换回Python代码的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did164588