如何使用Python解釋器進(jìn)行程序編制
本文首先介紹一下Python解釋器的歷史,總結(jié)了Python的強(qiáng)大之處和不足并且指出了與其他腳本語言相比,以及Python解釋器與其他語言的優(yōu)勢所在,歡迎大家學(xué)習(xí)切磋。
這篇文章已經(jīng)被翻譯為意大利、波蘭、日本、塞爾維亞以及巴西葡萄亞語等許多種語言,而且正在被翻譯為韓語。(譯者:當(dāng)然,現(xiàn)在已經(jīng)包括了中文版本,只是作者并不知道。)
這篇文章和如何闖入別人的計算機(jī)系統(tǒng)之類的東西無關(guān)。我不關(guān)注那類事情,所以請不要email問我那些東西。
注意。要使此文中的例子正確運(yùn)行,你應(yīng)該把它們寫在一個文本文件中,然后用解釋器運(yùn)行;不要試圖直接在交互方式下運(yùn)行它們--不是所有的都可以這樣運(yùn)行。
要用Python解釋器寫程序,你必須先安裝一個Python解釋器。它可以存在于大多數(shù)平臺(包括Macintosh、Unix和Windows)。更多與此有關(guān)的信息可以在python的網(wǎng)站上找到。你還應(yīng)該有一個文本編輯器(象emacs、notepad或者類似的東西)。
你大概可以看出它同火腿沙拉菜譜的相似性(盡管有些細(xì)微的差別)。但它是如何工作的呢?首先,以#開始的行叫做注釋事實(shí)上會被計算機(jī)忽略。然而插入象這樣小段的注釋對于增強(qiáng)你程序的可讀性來說是很重要的。 接下來,看起來象 foo = bar 這樣的行叫做賦值。
對于 width = 20 這樣的情況來說就是告訴計算機(jī)從這里開始width就代表20了。它還意味著一個名字“width”的變量從此被創(chuàng)建了(如果它先前已經(jīng)存在,那么會被重新覆蓋)。
所以,我們以后使用這個變量的時候,計算機(jī)就知道了它的值。然而,這事實(shí)上并不比計算矩形面積的那個程序更有意思。至少在我看來是這樣。它有些僵硬。如果我們看到半徑為31的圓該怎么辦?
怎樣讓計算機(jī)知道?這有點(diǎn)象沙拉菜譜中的:“燒3到4分鐘直到火腿熟了為止?!币篮螘r燒熟,我們必須檢查。我們需要反饋,或者提示。計算機(jī)如何知道我們圓形的半徑?同樣需要輸入資料……我們可以做的是告訴計算機(jī)半徑是多少:
- # Calculate all the primes below 1000
- # (Not the best way to do it, but...)
- result = [1]
- candidates = range(3, 1000)
- base = 2
- product = base
- while candidates:
- while product < 1000:
- if product in candidates:
- candidates.remove(product)
- productproduct = product+base
- result.append(base)
- base = candidates[0]
- product = base
- del candidates[0]
- result.append(base)
- print result
現(xiàn)在程序變得漂亮一些了……input是個被稱為函數(shù)的東西。(很快你將學(xué)習(xí)創(chuàng)建你自己的函數(shù)。而input是Python解釋器內(nèi)建的函數(shù)。)僅僅寫下 input 什么也不會做……你必須在它的后面放上一對括號。所以input()可以工作--它會簡單的要求用戶輸入半徑的長度。
而上面的那個版本對用戶來說也許更友好一些,因?yàn)樗紫却蛴〕隽艘粋€問題。當(dāng)我們將諸如提問字符“What is the radius?”之類的東西放在函數(shù)調(diào)用的括號中。這個過程被稱為函數(shù)的參數(shù)傳遞。括號中的內(nèi)容被稱為參數(shù)。在上個例子中我們傳遞了一個提問作為參數(shù)以便input知道在獲得答案前應(yīng)該先打印什么。
【編輯推薦】