偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

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代碼的時(shí)候,以代碼存放在文件中的情況為例,Python會(huì)調(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ù)會(huì)把CST轉(zhuǎn)換成AST。此函數(shù)定義在include\ast.h中:

 

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

 

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

【編輯推薦】

  1. Python學(xué)習(xí)入門中的先搭環(huán)境的具體應(yīng)用的方法介紹
  2. Python源碼分析的實(shí)際相關(guān)操作步驟解析
  3. Python庫(kù)如何高效的完成工作的詳細(xì)介紹
  4. Python編程語(yǔ)言的功能優(yōu)點(diǎn)的具體體現(xiàn)
  5. Python編程語(yǔ)言在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-12 15:29:19

Pythonexe

2010-03-24 18:00:30

Python中文轉(zhuǎn)換u

2010-06-12 10:41:23

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

2010-03-10 15:54:33

Python讀寫文件

2010-04-20 11:06:33

Oracle索引

2010-05-28 18:16:43

MySQL 操作日志

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-04-06 08:58:27

Oracle job

2010-07-21 15:22:07

2010-04-02 13:34:33

Oracle DBA

2010-05-12 13:45:25

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

2010-04-16 17:17:31

Oracle訪問

2010-04-15 13:51:06

Oracle EBS

2010-04-21 17:09:17

Oracle安裝

2010-05-17 16:52:14

MySQL limit

2010-05-20 15:39:14

MySQL支持中文
點(diǎn)贊
收藏

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