温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python执行代码的实际操作的五个步骤分别是什么呢

发布时间:2021-10-26 16:24:36 来源:亿速云 阅读:255 作者:柒染 栏目:编程语言

Python执行代码的实际操作的五个步骤分别是什么呢,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

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

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

2. Parser根据Token创建CST

3. CST被转换为AST

4. AST被编译为字节码

5. 执行字节码

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

  1. mod_ty  

  2. PyParser_ASTFromFile(FILE *fp, const char *filename, 
    int start, char *ps1,  

  3. char *ps2, PyCompilerFlags *flags, int *errcode,  

  4. PyArena *arena)  

  5. {  

  6. mod_ty mod;  

  7. perrdetail err;  

  8. node *n = PyParser_ParseFileFlags(fp, filename, 
    &_PyParser_Grammar,  

  9. start, ps1, ps2, &err, PARSER_FLAGS(flags));  

  10. if (n) {  

  11. mod = PyAST_FromNode(n, flags, filename, arena);PyNode_Free(n);  

  12. return mod;  

  13. }  

  14. else {  

  15. err_input(&err);  

  16. if (errcode)  

  17. *errerrcode = err.error;  

  18. return NULL;  

  19. }  

  20. }      

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执行代码的实际操作的五个步骤分别是什么呢的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI