Python的Hello World程式
下面是一個在標準輸出設備上輸出Hello World的簡單程式,這種程式通常作為開始學習
程式語言時的第一個程式:
#!/usr/bin/env python
print "Hello, world!"
Python在程式語言中的定位
雖然 Python 可能被粗略地分類為"腳本語言(scripting language)", 實際上一些大規模軟體開發計畫例如 Zope, Mnet 及 BitTorrent. Google也廣泛地使用它。 Python 的支持者較喜歡稱它為一種高階動態程式語言 , 原因是"腳本語言" 泛指單用作簡單編程任務如 shell scripts ,而Python不能與JavaScript等只能處理簡單任務的程式語言相提並論。
Python的特色
可擴充性可說是Python作為一種程式語言的特色。新的內置模組(module)可以用C 或 C++寫成。而我們也可為現成的模組加上Python的接口。Python可以使用戶避免過分的語法的羈絆而將精力主要集中到所要實現的程式任務上。
Python也被稱為是一門清晰的語言。因為它的作者在設計它的時候,總的指導思想是,對於一個特定的問題,只要有一種最好的方法來解決就好了。這在由Tim Peters寫的python格言(稱為The Zen of Python)裡面表述為:
There should be one-- and preferably only one --obvious way to do it.
有意思的是,這正好和Perl語言(另一種功能類似的高級
動態語言)的中心思想TMTOWTDI(There's More Than One Way To Do It)完全相反。這似乎是人們常把Perl和Python互相比較的重要原因。
Python語言是一種清晰的語言的另一個意思是,它的作者有意的設計限制性很強的語法,使得不好的編程習慣(例如if語句的下一行不向右縮進)都不能通過編譯。這樣有意的強制程式設計師養成良好的編程習慣。其中很重要的一項就是Python的縮進規則。
例如if語句:
if age<21:
print "You cannot buy wine!\n"
print "But you can buy chewing gum.\n"
print "this is outside if\n"
一個和其他大多數語言(如C)的區別就是,一個模組的界限,完全是由每行的首字元在這一行的位置來決定的(而C語言是用一對花括弧{}來明確的定出模組的邊界的,與字元的位置毫無關係)。這一點曾經引起過爭議。因為自從C這類的語言誕生後,語言的語法含義與字元的排列方式分離開來,曾經被認為是一種程式語言的進步。不過不可否認的是,通過強制程式設計師們
縮進(包括if,for和函式定義等所有需要使用模組的地方),Python確實使得程式更加清晰和美觀。
另外Python在其他部分的設計上也堅持了清晰劃一的風格,這使得Python稱為一門易讀性、易維護性好,並且被大量用戶所歡迎的、用途廣泛的語言。
Python的局限
雖然Python是一個非常成功的語言,但是也有必要明白它的局限性。
1. 運行效率低下
目前為止,Python可以說是所有主流
腳本語言中速度最慢的。(是這樣么?待考.)這與其
腳本引擎的設計思路有關。
如果你的套用對於速度有著較高的要求,就要考慮Python是否能滿足需要。不過這一點可以通過使用C編寫關鍵模組,然後由Python調用的方式加以部分解決。
3. 獨特的語法
這也許不應該被稱為局限,但是它用
縮進來區分語句關係的方式還是給很多初學者帶來了困惑。即便是很有經驗的Python程式設計師,也可能陷入陷阱當中。最常見的情況是tab和空格的混用會導致錯誤,而這是用肉眼無法分別的。
4. 無類型
作為一種
動態語言,隨時隨地創建和使用
變數是Python給我們帶來的巨大的便利。但是它也會使得程式不嚴謹,某些錯誤只有在運行中才可能出現。所以,使用Python編程的時候,要對類型做到心裡有數。這也使得Python的IDE工具無法提供便利的自動完成等功能。
關於“無類型”的說法,是完全錯誤的。一看就是不了解python的人寫的。python是一種“強類型”“
動態綁定”。
Python的前景
Python在編程領域的占有率一直處於穩步上升之中,根據最新的數據,Python排名第七。前六名分別是Java,C,VB,C++,PHP和Perl. 作為一個很年輕的語言,Python的位置已經相當令人振奮了。隨著
微軟將Python納入.Net 平台,相信Python的將來會更加強勁發展。Python 很可能會成為.Net平台快速開發的主流語言。欲了解這方面情況,請參考Iron Python的相關信息.
著名的搜尋引擎 Google 也大量使用Python。更加令人吃驚的是,在Nokia智慧型手機所採用的Symbian作業系統上,Python成為繼C++,Java之後的第三個程式語言!可見Python的影響力之巨大。
Python的套用
Plone-內容管理系統
Django-鼓勵快速開發的web framework
Twisted - Python Network Application Framework Python的網路應用程式框架
TurboGears - 另一個Web套用快速開發框架
Bit Torrent - 著名的BT下載工具
2006年的Google編程大賽已經將Python作為參賽語言之一
Python的軟體
熟知的軟體主要有以下這些:
【PY平台】檔案管理器SkyExplorer S60v3 SymbianOS9.1
【PY平台】
下載軟體DVGET for S60v3
【PY平台】手機信息監控的軟體PyNetMony Python Netmonitor
【PY平台】清空縮略圖
【PY平台】電池監控pyBattery
【PY平台】調音配樂用的小軟體Musician S60 3rd Edition
【PY平台】 r oute66 346M 中國大*陸地圖啟動器
【PY平台】Slider 滑蓋設定
【PY平台】GsmPS:一款利用GSM基站定位的軟體
【PY平台】TTSMS:簡訊朗讀軟體
【PY平台】Easy Edit for S60 (Python - Freeware)
【PY平台】
系統工具-定時重啟PySystemUtilities
【PY平台】手機繪圖ImageDesigner--手機上的PS
【PY平台】背景燈長亮pyEkran [english version]
【PY平台】金魚缸--用你的手機來養金魚吧
【PY平台】用你的手機遙控汽車ShakerRacer control a real RC car with N95
【PY平台】Wizard朗讀精靈(支持中英文,支持朗讀文本)
【PY平台】Scarecrow十六進快查
【PY平台】NiiMe Mouse 讓你的手機變身無線滑鼠!
【PY平台】GIF製作Gif tool
等等