1. 程式人生 > >用Python編寫執行Hello World程式

用Python編寫執行Hello World程式

簡介
         我們將看一下如何用Python編寫執行一個傳統的“Hello World”程式。通過它,你將學會如何編寫、儲存和執行Python程式。

         有兩種使用Python執行你的程式的方式——使用互動式的帶提示符的直譯器或使用原始檔。我們將學習這兩種方法。

使用帶提示符的直譯器
         在命令列的shell提示符下鍵入python,啟動直譯器。現在輸入print 'Hello World',然後按Enter鍵。你應該可以看到輸出的單詞Hello World。

         對於Windows使用者,只要你正確的設定了PATH變數,你應該可以從命令列啟動直譯器。或者你可以選擇使用IDLE程式。IDLE是整合開發環境的縮寫。點選開始->程式->Python 2.3->IDLE(Python GUI)。Linux使用者也可以使用IDLE。

         注意,>>>是你鍵入Python語句的提示符。

例1 使用帶提示符的Python直譯器

$ python
Python 2.4.3 (#1, Jul 26 2006, 16:42:40)
[GCC 3.4.2 20050110 (Red Hat 3.4.2-6.fc3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print 'hello world'
hello world
>>>

         注意,Python會在下一行立即給出你輸出!你剛才鍵入的是一句Python 語句 。我們使用print(不要驚訝)來列印你提供給它的值。這裡,我們提供的是文字Hello World,它被迅速地列印在螢幕上。

         如何退出Python提示符: 如果你使用的是Linux/BSD shell,那麼按Ctrl-d退出提示符。如果是在Windows命令列中,則按Ctrl-z再按Enter。
挑選一個編輯器
         在我們開始講述以原始檔方式編寫Python程式之前,我們需要一個編輯器來寫原始檔。挑選一個編輯器確實是極其重要的。你挑選一個編輯器就如同你挑選一輛你將購買的轎車一樣。一個好的編輯器會幫助你方便地編寫Python程式,使你地程式設計旅程更加舒適,幫助你更加快捷安全地到達目的地(實現目標)。

         對於編輯器的基本要求之一是語法加亮功能,利用這一功能,你的Python程式的不同部分被標以不同的顏色,這樣你可以更好 看清楚 你的程式,使它的執行顯得形象化。

         如果你使用Windows,那麼我建議你使用IDLE。IDLE具備語法加亮功能,還有許多其他的功能,比如允許你在IDLE中執行你的程式。特別值得注意的是:不要使用Notepad——它是一個糟糕的選擇,因為它沒有語法加亮功能,而且更加重要的是,它不支援文字縮排。而我們將會看到文字縮排對於我們來說極其重要。一個好的編輯器,比如IDLE(還有VIM)將會自動幫助你做這些事情。

         如果你使用Linux/FreeBSD,那麼你有很多種選擇。如果你是一位有經驗的程式設計師,你一定已經在使用VIM或者Emacs了。勿庸置疑,它們是兩個功能最強大的編輯器。使用它們編寫你的Python程式,你將從中受益。我個人使用VIM編寫我的大多數程式。如果你是一個初學程式設計的人,那麼你可以使用Kate,它也是我最喜歡的編輯器之一。只要你願意花時間學習使用VIM或Emacs,那麼我強烈建議你一定要學習兩者之一,因為從長遠看來它們對你是極其有幫助的。

使用原始檔
         現在讓我們重新開始程式設計。當你學習一種新的程式語言的時候,你編寫執行的第一個程式通常都是“Hello World”程式,這已經成為一種傳統了。在你執行“Hello World”程式的時候,它所做的事只是說聲:“Hello World”。正如提出“Hello World”程式的Simon Cozens所說:“它是程式設計之神的傳統咒語,可以幫助你更好的學習語言。”

         啟動你選擇的編輯器,輸入下面這段程式,然後把它儲存為helloworld.py。

例2 使用原始檔

#!/usr/bin/python
# Filename : helloworld.py
print 'Hello World'


         為了執行這個程式,請開啟shell(Linux終端或者DOS提示符),然後鍵入命令python helloworld.py。如果你使用IDLE,請使用選單Edit->Run Script或者使用鍵盤快捷方式Ctrl-F5。輸出如下所示。

輸出
$ python helloworld.py
Hello World

         如果你得到的輸出與上面所示的一樣,那麼恭喜!——你已經成功地運行了你的第一個Python程式。

         萬一你得到一個錯誤,那麼請確保你鍵入的程式 準確無誤 ,然後再執行一下程式。注意Python是大小寫敏感的,即print與Print不一樣——注意前一個是小寫p而後一個是大寫P。另外,確保在每一行的開始字元前沒有空格或者製表符——我們將在後面討論為什麼這點是重要的。

         它如何工作:讓我們思考一下這個程式的前兩行。它們被稱作 註釋 ——任何在#符號右面的內容都是註釋。註釋主要作為提供給程式讀者的筆記。

         Python至少應當有第一行那樣的特殊形式的註釋。它被稱作 組織行 ——原始檔的頭兩個字元是#!,後面跟著一個程式。這行告訴你的Linux/Unix系統當你 執行 你的程式的時候,它應該執行哪個直譯器。這會在下一節做詳細解釋。注意,你總是可以通過直接在命令列指定直譯器,從而在任何平臺上執行你的程式。就如同命令python helloworld.py一樣。

         在你的程式中合理地使用註釋以解釋一些重要的細節——這將有助於你的程式的讀者輕鬆地理解程式在幹什麼。記住,這個讀者可能就是6個月以後的你!

         跟在註釋之後的是一句Python 語句 ——它只是列印文字“Hello World”。print實際上是一個操作符,而“Hello World”被稱為一個字串——別擔心我們會在後面詳細解釋這些術語。

可執行的Python程式
         這部分內容只對Linux/Unix使用者適用,不過Windows使用者可能也對程式的第一行比較好奇。首先我們需要通過chmod命令,給程式可執行的許可,然後 執行 程式。

$ chmod a+x helloworld.py
$ ./helloworld.py
Hello World

         chmod命令用來 改變 檔案的 模式 ,給系統中所有使用者這個原始檔的執行許可。然後我們可以直接通過指定原始檔的位置來執行程式。我們使用./來指示程式位於當前目錄。

         為了更加有趣一些,你可以把你的檔名改成僅僅helloworld,然後執行./helloworld。這樣,這個程式仍然可以工作,因為系統知道它必須用原始檔第一行指定的那個直譯器來執行程式。

         只要知道程式的確切位置,你現在就可以執行程式了——但是如果你希望你的程式能夠從各個位置執行呢?那樣的話,你可以把你的程式儲存在PATH環境變數中的目錄之一。每當你執行任何程式,系統會查詢列在PATH環境變數中的各個目錄。然後執行那個程式。你只要簡單地把這個原始檔複製到PATH所列目錄之一就可以使你的程式在任何位置都可用了。

$ echo $PATH
/opt/mono/bin/:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/swaroop/bin
$ cp helloworld.py /home/swaroop/bin/helloworld
$ helloworld
Hello World

         我們能夠用echo命令來顯示PATH變數,用$給變數名加字首以向shell表示我們需要這個變數的值。我們看到/home/swaroop/bin是PATH變數中的目錄之一。swaroop是我的系統中使用的使用者名稱。通常,在你的系統中也會有一個相似的目錄。你也可以把你選擇的目錄新增到PATH變數中去——這可以通過執行PATH=$PATH:/home/swaroop/mydir完成,其中“/home/swaroop/mydir”是我想要新增到PATH變數中的目錄。

         當你想要在任何時間、任何地方執行你的程式的時候,這個方法十分有用。它就好像創造你自己的指令,如同cd或其他Linux終端或DOS提示符命令那樣。

         提示:對於Python來說,程式、指令碼或者軟體都是指同一個東西。

獲取幫助
         如果你需要某個Python函式或語句的快速資訊幫助,那麼你可以使用內建的help功能。尤其在你使用帶提示符的命令列的時候,它十分有用。比如,執行help(str)——這會顯示str類的幫助。str類用於儲存你的程式使用的各種文字(字串)。類將在後面面向物件程式設計的章節詳細解釋。

         註釋:按q退出幫助。

         類似地,你可以獲取Python中幾乎所有東西的資訊。使用help()去學習更多關於help本身的東西!

         如果你想要獲取關於如print那樣操作符的幫助,那麼你需要正確的設定PYTHONDOCS環境變數。這可以在Linux/Unix中輕鬆地通過env命令完成。

$ env PYTHONDOCS=/usr/share/doc/python-docs-2.4.3/html/python
Python 2.3.4 (#1, Jul 26 2006, 16:42:40)
[GCC 3.4.2 20050110 (Red Hat 3.4.2-6.fc3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> help('print')

         你應該注意到我特意在“print”上使用了引號,那樣Python就可以理解我是希望獲取關於“print”的幫助而不是想要它列印東西。

         注意,我使用的位置是在Fedora Core 3 Linux中的位置——它可能在不同的發行版和版本中有所不同。