- Python進(jìn)階編程:編寫(xiě)更高效、優(yōu)雅的Python代碼
- 劉宇宙 謝東 劉艷
- 545字
- 2021-04-30 12:39:30
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í)行文件的源碼。
- FuelPHP Application Development Blueprints
- Go語(yǔ)言高效編程:原理、可觀(guān)測(cè)性與優(yōu)化
- Web Development with Django Cookbook
- Learning Elixir
- PHP 編程從入門(mén)到實(shí)踐
- 人人都是網(wǎng)站分析師:從分析師的視角理解網(wǎng)站和解讀數(shù)據(jù)
- EPLAN實(shí)戰(zhàn)設(shè)計(jì)
- 高級(jí)語(yǔ)言程序設(shè)計(jì)(C語(yǔ)言版):基于計(jì)算思維能力培養(yǎng)
- BIM概論及Revit精講
- Python機(jī)器學(xué)習(xí)算法: 原理、實(shí)現(xiàn)與案例
- Mastering Backbone.js
- Python機(jī)器學(xué)習(xí)之金融風(fēng)險(xiǎn)管理
- 計(jì)算機(jī)應(yīng)用基礎(chǔ)教程(Windows 7+Office 2010)
- 軟件測(cè)試綜合技術(shù)
- PostgreSQL Developer's Guide