自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python執(zhí)行代碼的實際操作的五個步驟詳細(xì)介紹

開發(fā) 后端
本文涉及到的有Python執(zhí)行代碼在實際應(yīng)用操作的五部分的相關(guān)的介紹,以及在執(zhí)行Python代碼的時,調(diào)用相關(guān)函數(shù)對文件代碼的轉(zhuǎn)換的具體內(nèi)容的介紹。

你對 Python執(zhí)行代碼的五步驟的具體應(yīng)用都了解嗎?想詳細(xì)了解Python執(zhí)行代碼在實際運行中實際操作步驟嗎?如果你對其有想了了解的欲望的話,你就可以點擊我們的文章對其進(jìn)行一個更好的了解。

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

1. Tokenizer進(jìn)行詞法分析,把源程序分解為Token

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

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

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

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

當(dāng)執(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. }      

  1. PyParser_ParseFileFlags 

在Python執(zhí)行代碼中還要把文件轉(zhuǎn)換成CST之后,PyAST_FromNode函數(shù)會把CST轉(zhuǎn)換成AST。此函數(shù)定義在include\ast.h中:

 

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

 

以上就是對Python執(zhí)行代碼要經(jīng)過相關(guān)的內(nèi)容的介紹,忘你會有所收獲。

【編輯推薦】

  1. Python學(xué)習(xí)入門中的先搭環(huán)境的具體應(yīng)用的方法介紹
  2. Python源碼分析的實際相關(guān)操作步驟解析
  3. Python庫如何高效的完成工作的詳細(xì)介紹
  4. Python編程語言的功能優(yōu)點的具體體現(xiàn)
  5. Python編程語言在Zope軟件開發(fā)中具體應(yīng)用

 

 

責(zé)任編輯:佚名 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-03-19 17:39:49

Python編程

2010-03-26 18:51:51

Python作用域

2010-03-24 18:00:30

Python中文轉(zhuǎn)換u

2010-03-12 15:29:19

Pythonexe

2010-06-12 10:41:23

MySQL修改數(shù)據(jù)

2010-03-10 15:54:33

Python讀寫文件

2010-05-28 18:16:43

MySQL 操作日志

2010-04-20 11:06:33

Oracle索引

2010-05-27 14:35:25

MySQL批量導(dǎo)入

2010-06-01 15:54:46

MySQL-pytho

2010-03-24 16:25:18

Python源代碼

2010-07-21 15:22:07

2010-04-06 08:58:27

Oracle job

2010-05-12 13:45:25

Mysql 復(fù)制設(shè)置

2010-04-02 13:34:33

Oracle DBA

2010-04-16 17:17:31

Oracle訪問

2010-06-02 13:22:18

MySQL定時任務(wù)

2010-05-27 10:35:09

查詢MySQL數(shù)據(jù)

2010-04-15 13:51:06

Oracle EBS

2010-04-21 17:09:17

Oracle安裝
點贊
收藏

51CTO技術(shù)棧公眾號