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

Python源碼的三大應(yīng)用技術(shù)

開發(fā) 后端
本文主要介紹的是Python源碼剖析的三大應(yīng)用技術(shù),其中包括Python總體架構(gòu),Python源代碼的組織,編譯Python,以下是相關(guān)內(nèi)容的詳細介紹。 。

在計算機的應(yīng)用過程Python源碼剖析是經(jīng)常被用到的計算機語言,這篇文章就是對Python源碼剖析包括的三個方面做一詳細介紹,如果你想更好的了解相關(guān)的計算機相關(guān)的語言,不防瀏覽下面的文章。

1. Python總體架構(gòu)
在最高的層次上,Python的整體架構(gòu)可以分為四個主要的部分,整個架構(gòu)如圖1所示。在左邊,是Python提供的大量的模塊,庫以及用戶自定義的模塊。比如在執(zhí)行import os時,這個os就是Python內(nèi)建的模塊,當然用戶還可以通過自定義模塊來擴展Python系統(tǒng)。在本系列文章中,我們不會對這一部分進行過多的考察。

Python的運行時環(huán)境,包括對象/類型系統(tǒng)(Object/Type structures),內(nèi)存分配器(Memory Allocator)和運行時狀態(tài)(Current State of Python)。運行時狀態(tài)維護了解釋器在執(zhí)行字節(jié)碼時在不同的狀態(tài)之間切換的動作,我們可以將它視為一個巨大而復(fù)雜的有窮狀態(tài)機。內(nèi)存分配器則全權(quán)負責Python中創(chuàng)建對象時對內(nèi)存的申請工作,實際上它就是Python運行時與C中malloc的一層接口。而對象/類型系統(tǒng)則包含了Python中存在的各種內(nèi)建對象,比如整數(shù),list和dict等等

在中間的部分,可以看到Python的核心,解釋器(interpreter)。在解釋器中,箭頭的方向指示了Python運行時的數(shù)據(jù)流方向。其中Scanner對應(yīng)詞法分析,將文件輸入的Python源代碼或從命令行輸入的一行行Python代碼切分為一個一個的token;Parser對應(yīng)語法分析部分,在Scanner的分析結(jié)果上進行語法分析,建立抽象語法樹(AST);Compiler是根據(jù)建立的AST生成指令集合——Python字節(jié)碼(byte code),就像Java編譯器和C#編譯器所做的那樣;最后由Code Evaluator來解釋并執(zhí)行這些字節(jié)碼。因此,Code Evaluator又可以被稱為執(zhí)行引擎。

在Interpreter與右邊的對象/類型系統(tǒng),內(nèi)存分配器之間的箭頭表示“使用”關(guān)系;而與運行時狀態(tài)之間的箭頭表示修改關(guān)系,即Python在執(zhí)行的過程中會不斷地修改當前解釋器所處的狀態(tài),在不同的狀態(tài)之間切換。#t#

2. Python源代碼的組織

中國有句老話,巧婦難為無米之炊。要分析Python源碼,首先當然要獲得Python源碼。

3. 編譯Python

好了,下載了Python的源代碼之后,我們就可以走出剖析Python源碼的第一步——編譯Python——了:)

Python2.4.1是在Visual Studio 2003環(huán)境下開發(fā)的,在PCBuild目錄下可以看到VS2003的工程文件,打開工程后,還需要進行一些設(shè)置,才能成功編譯。

我們還需要一個pythonnt_rc_d.h,這個文件在Python2.4.1的源碼包中沒有提供,必須要通過一個編譯make_versioninfo子工程才能自動生成。

好了,現(xiàn)在再編譯,一切都會順利完成了。

責任編輯:佚名 來源: IT商業(yè)新聞網(wǎng)
相關(guān)推薦

2010-03-10 13:59:40

Python異常處理

2011-05-30 09:17:18

光纖

2015-06-02 10:08:51

布線技術(shù)光纖

2023-01-06 19:02:23

應(yīng)用技術(shù)

2010-04-14 16:24:44

寬帶無線接入

2015-09-01 10:14:21

機房直冷優(yōu)化

2012-05-11 11:47:55

存儲虛擬化

2010-02-24 16:52:59

WCF支持WebGet

2010-02-04 17:05:53

C++動態(tài)創(chuàng)建對象

2020-12-17 17:40:58

可穿戴技術(shù)智能物聯(lián)網(wǎng)

2009-09-03 14:14:52

RHEL ASMySQLroot密碼

2021-09-13 14:39:34

云計算Edge云應(yīng)用

2024-11-14 11:00:00

Python繼承機制

2021-08-05 13:45:34

區(qū)塊鏈技術(shù)虛擬幣

2009-12-09 10:48:50

ibmdwLotus

2017-08-23 09:48:18

機器人安全保護包裝

2010-03-11 19:45:09

Python邏輯

2022-06-16 13:36:04

新華三

2025-02-20 00:28:59

2021-03-22 15:06:21

互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)
點贊
收藏

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