新聞中心
下面文章主要介紹下Python 源代碼的編制和一些常規(guī)技巧,這些內(nèi)容都是一些門戶網(wǎng)站和技術(shù)論壇找到的,中間可能有不少錯(cuò)誤是我沒(méi)有挑出的,歡迎大家指正,希望大家學(xué)習(xí)探討。

博羅ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書(shū)銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書(shū)合作)期待與您的合作!
人電腦開(kāi)始出現(xiàn).個(gè)人電腦帶了形形色色的軟件包,用來(lái)處理文件.其中有電子表格文件、字處理文件。圖形編輯器文件.ABC 的用戶希望能用 ABC 寫(xiě)個(gè)小程序,從他們的字處理文件讀出一些數(shù)據(jù),然后把數(shù)據(jù)寫(xiě)到電子表格里,或者反過(guò)來(lái),但是他們望洋興嘆,只能怪 IO 的無(wú)能.
Bill Venners: 他們想處理文件,Guido van Rossum: 他們想處理的是數(shù)據(jù),但是數(shù)據(jù)卻呆在文件里面.而 ABC 里沒(méi)有文件的概念,這讓事情復(fù)雜化了。Python 中的可擴(kuò)展性Guido van Rossum: 讓 ABC 里的缺位的文件支持雪上加霜的是,要擴(kuò)展 ABC 語(yǔ)言并非易事.如果你這樣想:“這個(gè)語(yǔ)言是用 C 實(shí)現(xiàn)的。
所以我們?cè)谒臉?biāo)準(zhǔn)庫(kù)里面加個(gè)讀文件的函數(shù)難道不就行了?”,那就大錯(cuò)特錯(cuò)了.ABC 是沒(méi)有標(biāo)準(zhǔn)函數(shù)庫(kù)一說(shuō)的.它有的是內(nèi)置命令。但是管這些命令的是 parser.ABC 也有內(nèi)置函數(shù),但是這些函數(shù)和運(yùn)行時(shí)綁在了一起.要為這個(gè)語(yǔ)言的標(biāo)準(zhǔn)功能添磚加瓦簡(jiǎn)直是難如登天。
對(duì) Python 源代碼來(lái)說(shuō),我認(rèn)識(shí)到,可擴(kuò)展性是顯而易見(jiàn)的重中之重.我之前就了解到 Python 需要在多種平臺(tái)上運(yùn)行.即,我知道我們要求 Python 在我們正在開(kāi)發(fā)的 Amoeba 上,以及 UNIX 上運(yùn)行。后者是我們作為桌面的操作系統(tǒng).同時(shí),我也想到了,我們也會(huì)需要他支持 Windows 和 Macintosh.我想到,這些系統(tǒng)上有些功能是共有的。
比如標(biāo)準(zhǔn) IO 庫(kù),但是還有些功能是不互通的.如果要在 Windows 的屏幕上畫(huà)些東西,你寫(xiě)的代碼肯定和 Macintosh 和 Unix 上不一樣,而且編程的模式也會(huì)大相徑庭.后來(lái),我為 Python 構(gòu)思了一個(gè)具有相當(dāng)靈活性的可擴(kuò)展模型.我提出:“我們將會(huì)為這門語(yǔ)言提供一系列的內(nèi)置對(duì)象類型。
比如 dictionary, 列表,各種數(shù)字類型,以及字符串.而且,我們也會(huì)讓第三方程序員能輕而易舉地在系統(tǒng)中加入他們自己的對(duì)象類型.”由于 ABC 是作為一種規(guī)模相對(duì)較小的語(yǔ)言設(shè)計(jì)的,所以它也不支持名字空間 (namespace).它只有函數(shù)和過(guò)程.你沒(méi)有辦法把函數(shù)和過(guò)程分組。
后來(lái),雖然他們加入了一個(gè)名字空間的機(jī)制,但是我覺(jué)得那套機(jī)制太簡(jiǎn)陋粗糙了.那時(shí),我已經(jīng)有了一些 Modula-2 和 Modula-3 的相關(guān)經(jīng)驗(yàn),因此我決定把模塊 (module) 作為 Python 的主要編程單位之一.我決定讓 Python 有兩種不同的模塊:你可以用 Python 編寫(xiě)模塊,但是也可以完全用 C 語(yǔ)言為 Python 編寫(xiě)模塊.并且 C 語(yǔ)言寫(xiě)的模塊可以實(shí)現(xiàn)新的數(shù)據(jù)類型。
提供新的對(duì)象.這個(gè)想法后被被證明是先見(jiàn)之明,因?yàn)槲以?CWI 的同事,用戶,還有我自己都開(kāi)始編寫(xiě)我們自己用的擴(kuò)展模塊.這些擴(kuò)展模塊讓你能想干什么就干什么:調(diào)用圖形庫(kù)、數(shù)據(jù)流庫(kù),還能操作各種數(shù)據(jù)格式。
Bill Venners: 如此說(shuō)來(lái),如果我用 C 語(yǔ)言寫(xiě)了個(gè)模塊,那么我就能在自己的 Python 程序里面用上它,而且模塊中的數(shù)據(jù)類型就像 Python 親生的?Guido van Rossum: 一點(diǎn)沒(méi)錯(cuò).在 Python 源代碼 里面,使用模塊的方法就只有用 import 語(yǔ)句一途.Python 的 import 和 Java 的 import 有一點(diǎn)小小的不一樣,不過(guò)它們背后的思想是共通的。
一旦你 import 了某個(gè)模塊名,系統(tǒng)就會(huì)用幾種不同的辦法試圖找到這個(gè)模塊.我們會(huì)設(shè)置一個(gè)搜索路徑,用來(lái)在里面搜索不同類型的文件.如果你在為 import foo 找文件,那么它會(huì)最后找出一個(gè)叫 foo.py 或者 foo.so (Windows 上叫 foo.dll) 的文件。#t#
foo.py 是一個(gè) Python 的源文件.Python 源文件將來(lái)會(huì)被解析并解釋執(zhí)行.這個(gè)過(guò)程讓函數(shù)/過(guò)程得以為程序所用.foo.so 或者 foo.dll 是編譯好的機(jī)器碼。這種動(dòng)態(tài)鏈接庫(kù)是用 C 或者 C++ 實(shí)現(xiàn)的,但也有人用 Fortran 編寫(xiě)自己的擴(kuò)展,這些擴(kuò)展將來(lái)會(huì)鏈接到一些大型的 Fortran 庫(kù)上去。
從 Python 的角度來(lái)看,你使用事先編譯好的機(jī)器碼模塊的方式和用 Python 源代碼模塊沒(méi)什么區(qū)別.反正都是把它們 import 進(jìn)來(lái).你可以把模塊的內(nèi)容列出來(lái),看看里面都有什么.或者,如果你對(duì)模塊已經(jīng)比較熟的話,就可以直接開(kāi)始用它了。
Guido van Rossum: 一點(diǎn)沒(méi)錯(cuò).在 Python 里面,使用模塊的方法就只有用 import 語(yǔ)句一途.Python 的 import 和 Java 的 import 有一點(diǎn)小小的不一樣,不過(guò)它們背后的思想是共通的。一旦你 import 了某個(gè)模塊名,系統(tǒng)就會(huì)用幾種不同的辦法試圖找到這個(gè)模塊.我們會(huì)設(shè)置一個(gè)搜索路徑,用來(lái)在里面搜索不同類型的文件。
如果你在為 import foo 找文件,那么它會(huì)最后找出一個(gè)叫 foo.py 或者 foo.so (Windows 上叫 foo.dll) 的文件。foo.py 是一個(gè) Python 的源文件.Python 源文件將來(lái)會(huì)被解析并解釋執(zhí)行.這個(gè)過(guò)程讓函數(shù)/過(guò)程得以為程序所用.foo.so 或者 foo.dll 是編譯好的機(jī)器碼。
這種動(dòng)態(tài)鏈接庫(kù)是用 C 或者 C++ 實(shí)現(xiàn)的,但也有人用 Fortran 編寫(xiě)自己的擴(kuò)展,這些擴(kuò)展將來(lái)會(huì)鏈接到一些大型的 Fortran 庫(kù)上去。從 Python 的角度來(lái)看,你使用事先編譯好的機(jī)器碼模塊的方式和用 Python 源代碼模塊沒(méi)什么區(qū)別.反正都是把它們 import 進(jìn)來(lái)。你可以把模塊的內(nèi)容列出來(lái),看看里面都有什么.或者,如果你對(duì)模塊已經(jīng)比較熟的話,就可以直接開(kāi)始用它了.
【編輯推薦】
- 有關(guān)Python系統(tǒng)文件進(jìn)行介紹指導(dǎo)
- 如何正確的使用Python函數(shù)
- 對(duì)Python 構(gòu)建工具進(jìn)行詳細(xì)介紹分析
- PythonAndroid淺析Python優(yōu)勢(shì)所在
- 如何使用Python模塊解析配置文件?
網(wǎng)頁(yè)題目:詳細(xì)說(shuō)明Python源代碼編制技巧
瀏覽地址:http://www.5511xx.com/article/ccdgpcd.html


咨詢
建站咨詢
