Python执行代码的实际操作的五个步骤分别是什么呢,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
创新互联建站于2013年成立,先为中阳等服务建站,中阳等地企业,进行企业商务咨询服务。为中阳企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
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执行代码的实际操作的五个步骤分别是什么呢的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!