博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python执行代码的实际操作的五个步骤详细介绍
阅读量:4171 次
发布时间:2019-05-26

本文共 1065 字,大约阅读时间需要 3 分钟。

对 Python执行代码的五步骤的具体应用都了解吗?想详细了解Python执行代码在实际运行中实际操作步骤吗?如果你对其有想了了解的欲望的话,你就可以点击我们的文章对其进行一个更好的了解。

Python执行代码要经过如下过程:

1. Tokenizer进行词法分析,把源程序分解为Token

2. Parser根据Token创建CST

3. CST被转换为AST

4. AST被编译为字节码

5. 执行字节码

当执行Python代码的时候,以代码存放在文件中的情况为例,Python会调用PyParser_ASTFromFile函数将文件的代码内容转换为AST:

mod_ty   
PyParser_ASTFromFile(FILE *fp, const char *filename,  int start, char *ps1,  
char *ps2, PyCompilerFlags *flags, int *errcode,  
PyArena *arena)  
{  
mod_ty mod;  
perrdetail err;  
node *n = PyParser_ParseFileFlags(fp, filename,  &_PyParser_Grammar,  
start, ps1, ps2, &err, PARSER_FLAGS(flags));  
if (n) {  
mod = PyAST_FromNode(n, flags, filename, arena);PyNode_Free(n);  
return mod;  
}  
else {  
err_input(&err);  
if (errcode)  
*errerrcode = err.error;  
return NULL;  
}  
}      

PyParser_ParseFileFlags 

在Python执行代码中还要把文件转换成CST之后,PyAST_FromNode函数会把CST转换成AST。此函数定义在include\ast.h中:

PyAPI_FUNC(mod_ty) PyAST_FromNode(const node *, PyCompilerFlags *flags,   
const char *, PyArena *);   

以上就是对Python执行代码要经过相关的内容的介绍,忘你会有所收获。

转载地址:http://knkai.baihongyu.com/

你可能感兴趣的文章
DragonBoard 410C中的Fastboot与调试串口注意事项
查看>>
跨系统的录音格式兼容性问题: iOS Android
查看>>
JVM 的垃圾回收器
查看>>
Class.forName()的作用
查看>>
mybatis标签使用
查看>>
Mybatis中insert和insertSelective区别
查看>>
Mybatis中foreach的使用
查看>>
Mybatis的缓存
查看>>
@validated注解异常返回JSON值
查看>>
@JsonFormat注解使用
查看>>
Spring的注解@DateTimeFormat
查看>>
Mybatis常见类型if标签使用
查看>>
Spring boot设置定时器类的简单方法
查看>>
Spring cloud之eureka初识
查看>>
Spring cloud之eureka搭建
查看>>
Spring boot集成jxls实现导出excel功能
查看>>
Spring boot集成jxls实现导入功能
查看>>
移动端页面引入vconsole调试
查看>>
Spring Boot 的配置文件的格式
查看>>
Spring boot读取配置的方式
查看>>