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

創(chuàng)新互聯(lián)建站長(zhǎng)期為上千余家客戶(hù)提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為睢縣企業(yè)提供專(zhuān)業(yè)的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作,睢縣網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
Python執(zhí)行代碼要經(jīng)過(guò)如下過(guò)程:
1. Tokenizer進(jìn)行詞法分析,把源程序分解為T(mén)oken
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:
- 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執(zhí)行代碼中還要把文件轉(zhuǎn)換成CST之后,PyAST_FromNode函數(shù)會(huì)把CST轉(zhuǎn)換成AST。此函數(shù)定義在include\ast.h中:
- PyAPI_FUNC(mod_ty) PyAST_FromNode(const node *, PyCompilerFlags *flags,
- const char *, PyArena *);
以上就是對(duì)Python執(zhí)行代碼要經(jīng)過(guò)相關(guān)的內(nèi)容的介紹,忘你會(huì)有所收獲。
分享名稱(chēng):Python執(zhí)行代碼的實(shí)際操作的五個(gè)步驟詳細(xì)介紹
標(biāo)題網(wǎng)址:http://www.5511xx.com/article/coisgis.html


咨詢(xún)
建站咨詢(xún)
