官术网_书友最值得收藏!

0.2 Python源碼組織

要查看Python源碼的組織,首先要獲得Python源碼。讀者可以從Python的官方網(wǎng)站自由下載源碼,也可以從GitHub自由獲取。

GitHub獲取源碼的方式如下:


git clone https://github.com/python/cpython.git
# clone成功后,會(huì)在當(dāng)前目錄下增加一個(gè)cpython文件夾,進(jìn)入cpython目錄,執(zhí)行如下命令
git checkout v3.8.0

將獲取到的源碼包解壓,進(jìn)入源碼目錄,可以看到源碼包的目錄結(jié)構(gòu)如圖0-2所示。

圖0-2 Python 3目錄結(jié)構(gòu)

其中,部分目錄解釋如下:

·Include目錄:包含Python提供的所有頭文件。如果用戶(hù)需要,可用C或C++編寫(xiě)自定義模塊來(lái)擴(kuò)展Python。

·Lib目錄:包含Python自帶的所有標(biāo)準(zhǔn)庫(kù),且都是用Python語(yǔ)言編寫(xiě)的。

·Modules目錄:包含所有用C語(yǔ)言編寫(xiě)的模塊,比如math、hashlib等。它們都是對(duì)運(yùn)行效率要求非常嚴(yán)格的模塊。相比而言,Lib目錄下則是存放一些對(duì)速度沒(méi)有太嚴(yán)格要求的模塊,比如os。

·Parser目錄:包含Python解釋器中的Scanner和Parser部分,即對(duì)Python源碼進(jìn)行詞法分析和語(yǔ)法分析的部分。除此以外,該目錄還包含一些有用的工具。這些工具能夠根據(jù)Python語(yǔ)言的語(yǔ)法自動(dòng)生成Python語(yǔ)言的詞法和語(yǔ)法分析器,與YACC非常類(lèi)似。

·Objects目錄:包含所有Python的內(nèi)置對(duì)象,包括整數(shù)、list、dict等。同時(shí),該目錄還包括Python在運(yùn)行時(shí)需要的所有內(nèi)部使用對(duì)象的實(shí)現(xiàn)。

·Python目錄:包含Python解釋器中的編譯(Compiler)和執(zhí)行引擎部分,是Python運(yùn)行的核心所在。

·PCbuild目錄:包含Visual Studio 2003的工程文件,對(duì)于Python源碼的研究就從這里開(kāi)始。

·Programs目錄:包含Python二進(jìn)制可執(zhí)行文件的源碼。

主站蜘蛛池模板: 大港区| 密云县| 柳林县| 长葛市| 兴海县| 河东区| 舒兰市| 钟山县| 潜江市| 南华县| 澄城县| 威信县| 许昌市| 如东县| 五寨县| 比如县| 额济纳旗| 桂东县| 桐梓县| 义马市| 页游| 邻水| 定襄县| 平邑县| 融水| 双城市| 曲阳县| 武冈市| 泸定县| 库尔勒市| 鄂伦春自治旗| 云林县| 措勤县| 中江县| 雅江县| 北海市| 高青县| 高陵县| 大新县| 铁岭县| 伊宁市|