前言
第一次聽說Python是在開發Visual Studio Extension應用時,當時有一個著名的開源 IDE:IronPython,那是一個基於VSShell的專為IronPython設計的IDE,也算是基於VSShell的最出色的產品了,整合了編輯器,調試器。IronPython之於Python的關係,就好像C++.NET之於C++的關係(這裡只是胡亂比喻一番,定有不妥之處)。
Python概述
有點扯遠了,事實上對於Python,到目前為止,我是個初學者,剛剛走馬觀花的把Python簡明教程看了一遍,這裡提點自己的看法和總結,有不妥之處歡迎指正:
1.Python的解釋性。不想Native code的C/C++需要編譯成目標平台的二進位代碼。“Python在執行時,首先會將.py檔案中的原始碼編譯成Python的byte code(位元組碼),然後再由Python Virtual Machine來執行這些編譯好的byte code。這種機制的基本思想跟Java,.NET是一致的。然而,Python Virtual Machine與Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一種更進階的Virtual Machine。這裡的進階並不是通常意義上的進階,不是說Python的Virtual Machine比Java或.NET的功能更強大,更拽,而是說和Java或.NET相比,Python的Virtual Machine距離真實機器的距離更遠。或者可以這麼說,Python的Virtual Machine是一種抽象層次更高的Virtual Machine。-----Goodspeed ”
1.Python是一門解釋性的語言。執行的時候需要依靠Python解譯器,就像windows或linux指令碼需要指令碼宿主一樣,因此在執行速度上要慢於Native code的C/C++。Python跟Java/C#又有所不同,後者是編譯到中繼語言,由虛擬機器或託管模組執行。
2.Python的跨平台性很好,目前支援mac OS、windows、linux(也許有其他的),其中mac OS和大多數的linux發行版都預設安裝了Python解譯器和Python庫。windows下可以通過簡單的安裝支援Python。
3.Python的開源性必將給它帶來曠闊的空間。在現在這個開源的趨勢下,開源的好處被越來越多的開發人員認可,越來越多的人願意為開源作出貢獻,當然包括Python在內。
4.Python的語言特性。Python物件導向的語言特性繼承了現代進階語言的特點。不過個人認為,Python在物件導向的文法上實在讓我這個C++、C#出生的人十分不習慣,我還是比較習慣於先聲明後使用,也許是因為我還沒有從靜態語言的慣性思維中轉過彎來吧。
5.豐富的庫。除了Python的標準庫,還有許多第三方的GUI庫正在被認可。我還沒有嘗試使用這些庫,不過相信由於Python的開源特性,庫的數量和品質都將不斷提升。
windows下安裝Python
目前我已經不在windows下練習Python了,但是剛開始練習的時候還是習慣性的在windows下安裝部署。我當時安裝的是Python2.5,但是我發現安裝時沒有配置環境變數,使我不能在命令列下直接通過"python"運行我的指令碼。當然配置環境變數不是難事,這裡就不累述了。另外windows下的Python IDEL我個人覺得並不好用。windows下退出命令列模式python:Ctrl+z再斷行符號
linux下Python
linux下Python幾乎的預設支援的。我的Ubuntu中python是2.6.5的。linuxs下退出命令列模式python:Ctrl+D。
我習慣用gedit編輯Python原始碼檔案,源碼檔案需要在第一行包含:
#!usr/bin/python
gedit實在是十分出色,它同樣支援Python的文法高亮,而且高亮元素很豐富,強力推薦:
指令碼語言太多?現在有Python了!
無論什麼平台都有指令碼語言,而且種類很多,文法相似,容易混淆。現在有了Python全都搞定。Python作為一種語言,處理邏輯自然不在話下;對於調用系統命令只要使用如下統一的方式:
2 |
if os.system(commandline) = = 0 : |
只要構造一個commandline就可以了!
結語
程式設計語言在發展,文法變得越來越簡單,越來越接近自然語言。我們這一代正在糾結在Native Code和Managed Code之間,Python這樣的解釋語言的出現,也許標誌著一個新的潮流的到來,也許後輩程式員將完全不用知道Native Code,就像我們這一代多數不怎麼懂彙編一樣。Python也許將成為大勢所趨。