最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Python執(zhí)行代碼的實際操作的五個步驟分別是什么呢

Python執(zhí)行代碼的實際操作的五個步驟分別是什么呢,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

創(chuàng)新互聯(lián)建站于2013年成立,先為中陽等服務建站,中陽等地企業(yè),進行企業(yè)商務咨詢服務。為中陽企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。

Python執(zhí)行代碼要經(jīng)過如下過程:

1. Tokenizer進行詞法分析,把源程序分解為Token

2. Parser根據(jù)Token創(chuàng)建CST

3. CST被轉(zhuǎn)換為AST

4. AST被編譯為字節(jié)碼

5. 執(zhí)行字節(jié)碼

當執(zhí)行Python代碼的時候,以代碼存放在文件中的情況為例,Python會調(diào)用PyParser_ASTFromFile函數(shù)將文件的代碼內(nèi)容轉(zhuǎn)換為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執(zhí)行代碼中還要把文件轉(zhuǎn)換成CST之后,PyAST_FromNode函數(shù)會把CST轉(zhuǎn)換成AST。此函數(shù)定義在include\ast.h中:

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

看完上述內(nèi)容,你們掌握Python執(zhí)行代碼的實際操作的五個步驟分別是什么呢的方法了嗎?如果還想學到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


當前文章:Python執(zhí)行代碼的實際操作的五個步驟分別是什么呢
本文來源:http://fisionsoft.com.cn/article/jccsjg.html