Python編程環境搭建和規範
古人云:「工欲善其事,必先利其器」,對於學習python亦是如此。通過前面一節的學習,我們知道了python是什麼、能做什麼、未來的使用前景、相比其他編程語言有什麼優勢以及發展歷程。接下來,我將繼續給大家介紹一些學習python需要的入門知識。通過這一節的學習,大家能夠知道如何搭建python編譯和運行環境、python的代碼結構以及python編碼規範。
一、搭建python編譯和運行環境(限windows環境)
1、安裝
選擇最新的Python3.x版本,打開下載頁面
根據使用的操作系統,單擊相應的安裝程序鏈接
下載完畢之後,雙擊安裝程序開設安裝
2、運行
從開始菜單中選擇Python 3.x的選項,選擇其中的IDLE(Python GUI),啟動之後的IDEL編輯器初始屏幕如圖所示:
經典程序—在屏幕輸出「Hello World!」
解釋器
python是介於傳統編譯語言與傳統解釋語言之間的一門解釋型語言。之所以這樣說,是因為它具有與傳統編譯語言Java相類似的位元組碼編譯和虛擬機執行操作。但是它的位元組碼不是機器的二進位代碼,並且代碼在寫好之後立即運行,這些又讓它具備一些解釋型語言特點。 python語言的實現方式多種多樣,主要有三種:Cpython、Jython與IronPython。標準環境採用的是Cpython的實現方式。
發布
有時候我們真正需要的是得到一種能夠讓python程序生成獨立的可執行的二進位代碼的方法,這是一個接近於打包分發概念的東西。凍結二進位文件能夠將程序的位元組碼、PVM(python virtual machine,虛擬機)以及任何程序需要的python支持文件捆綁在一起形成一個單獨的文件包。與傳統的打包工具過程可能有些不同,但實際的結果將會是一個獨立的可執行二進位程序(如windows下的exe文件),這個文件將很容易向客戶分發,被使用。windows下主要使用py2exe生成凍結二進位文件。
3、一些深受歡迎的Python包
Python深受歡迎的原因之一是有大量高品質的庫,可幫助完成各種軟體任務。在這些庫中,很多都只支持特定的Python版本。具體地說,很多包還不支持Python 3,因此要使用它們,可能需要使用Python 2.x。但如果熟悉Python 3,使用Python 2並不難。
PIL(http://www.pythonware.com/products/pil/index.htm):Python圖像處理庫,是一個圖像處理庫,支持眾多圖像格式,可用於執行裁剪、大小調整、旋轉和濾波效果等操作。
Tkinter:Python GUI,是Python庫自帶的,是訪問流行工具包TK GUI的標準方式。如果要使用Python創建圖形用戶界面(GUI),應首先考慮使用這個包。有關該包的更詳細信息,參閱http://docs.python.org/3/library/tkinter.html。
Django(www.djangoproject.com):是一個用於創建互動式網站的框架。
Bottle(http://bottlepy.org/docs/dev/):類似於Django,它也是一個用於創建互動式網站的框架。不同的是,Bottle是一個輕量級的小型框架,更適合用於開發小型網站。
Pygame(www.pygame.org):能夠創建和控制二維動畫,尤其適合開發遊戲。它提供了創建動畫和聲音的工具,還提供了控制遊戲桿等輸入設備的工具。Pygame網站還提供了初步教程和示常式序。
SciPy(www.scipy.org):深受歡迎,還有專門的會議。它提供的數學軟體可以完成:求解最優化問題、執行線性代數數字計算、處理信號等。
Twisted(http://twistedmatrix.com/trac)是一個深受歡迎的Python網路編程庫,支持眾多網路協議,可用於開發Web伺服器、郵件伺服器和聊天客戶端/伺服器等。
PyPI(http://pypi.python.org/pypi):Python包索引,是一個更新頻繁的清單,列出了數千個用戶提交的Python包。如果要尋找專用Python庫或了解Python已用於哪些方面,可在此查詢
4、比較Python 2和Python 3
Python 3發佈於2008年底,是一次重大的升級。
Python 3的有些改進不向後與Python 2兼容,因此Python 2始終與Python 3並行地向前發展。
全面了解Python 3和Python 2之間的差異,可參閱What』s New in Python 3.0(http://docs.python.org/3/whatsnew/3.0.html)。
工具2to3(http://docs.python.org/3/library/2to3.html)幾乎能將任何Python 2程序自動轉換為等價的Python 3程序。
Python 3新增功能
Python 3新增了很多功能,一些顯著的功能為: 在Python 3中,整數除法的結果完全符合預期:
而在Python 2中執行整數除法時,將刪除小數部分:
在Python 3中, print是函數,易於修改;而在Python 2中,print是語句,就像if和for一樣。
Python 2有兩種類:老式類和新式類,而Python 3完全拋棄了老式類。
Python 3重命名了兩個重要函數:函數input和range在Python 2中分別名為raw_input和xrange。
Python 3支持第六章要介紹的格式字元串,而Python 2不支持。Python 2只支持使用運算符%的字元串插入。
該使用哪個Python版本
如果必須使用Python 2程序,可能應選擇Python 2;否則,就得將既有的Python 2程序轉換為Python 3程序,而這可能很難。
有些專用庫只支持某個Python版本,如果需要這樣的庫,在選擇Python 版本方面可能受到限制。
如果是剛從事編程工作或剛開始學習Python,不用維護老式Python程序,也無需使用專用庫,使用Python 3可能是最佳選擇。
二、python的代碼結構
python的代碼結構如下圖所示,主要由模塊導入、類定義、函數定義、分支結構、循環結構、異常處理和注釋這幾個部分組成。
後面的python基礎知識將詳細介紹這幾個部分的特點和使用方式。
三、python編碼規範
命名規則 Python語言有一套自己的命名規則。命名規則並不是語法規定,只是一種習慣用法。
變數名、模塊名、包名 通常採用小寫,可使用下劃線。
類名、對象名 類首字母採用大寫; 類中的方法名首字母小寫,其後的每個單詞的首字母大寫; 對象名(類的實例)採用小寫; 類外引用其屬性和方法名時,以對象名作為前綴。 類的私有變數、私有方法以兩個下劃線作為前綴。 例:類及對象命名舉例
函數名 函數名通常採用小寫,並用下劃線或單詞首字母大寫增加名稱的可讀性。 導入的函數以模塊名作前綴。 下例中,為演示導入函數前綴寫法,使用了生成隨機數的模塊random。該模塊有一個函數randrange(),該函數可以根據給定的數字範圍生成隨機數。其聲明為: randrange(start, stop[,step]) 說明: 參數start表示生成隨機數所在範圍的開始數字。 參數stop表示生成隨機數所在範圍的結束數字,但不包括數字stop。 參數step表示步長。生成的隨機數在[start, stop-1]的範圍內,取值等於start+step。 例:比較兩個數的大小,數據由隨機函數生成。隨機數的範圍在1—8之間選取。
代碼縮進與冒號 對於C、C++、Java等語言,代碼縮進只是作為編程的一種良好習慣。 對於Python而言,代碼縮進是一種語法。Python語言中沒有採用花括弧或begin…end分隔代碼塊,而是使用冒號和代碼縮進區分代碼之間的層次。 例:比較兩個程序段並查看運行結果
模塊導入的規範 模塊是類或函數的集合,用於處理一類問題,使用任何Python模塊都必須先導入。模塊的導入使用import語句或from…import…語句。
import語句 例如:導入數學函數模塊math,調用其中的函數。
from…import…語句 說明: 使用第二種導入方式,在調用math模塊中的任何函數時,都無需在前面加上「math.」。 使用第二種導入方式時,如果程序中的函數與math模塊中的某個函數同名,將被math模塊中的同名函數覆蓋。第一種導入方式不會覆蓋任何既有函數,但使用起來不如第二種方式簡潔。 還可以導入模塊math的特定函數。例如:from math import sqrt,tan 只導入函數sqrt和tan。
使用空行分隔代碼 函數之間或類的方法之間用空行分隔,表示一段新的代碼的開始。 類和函數入口之間也用一行空行分隔,突出函數入口的開始。
注釋 注釋是用於說明代碼實現的功能、採用的演算法、代碼的編寫者以及代碼創建和修改的時間等信息。 注釋是代碼的一部分,注釋起到了對代碼補充說明的作用。 Python忽略所有注釋,注釋僅供程序員或其他可能閱讀源代碼的人員閱讀。 Python使用#進行注釋。 Python可以使用中文注釋。Python 3默認的編碼是Unicode,可以直接使用中文注釋;但在Python 2中若使用中文注釋,必須在Python文件的最前面加上: # -*- coding: UTF-8 -*-
語句的分隔 分號是C、Java等語言中標識語句結束的標誌。Python也支持分號,同樣可以用分號作為一行語句的結束標識。但在Python中分號的作用已經不像在C、Java中那麼重要了,在C、Java中分號是必須的;而Python的分號可以省略,主要通過換行來識別語句的結束。 如果要在一行中書寫多個語句,就必須使用分號了,否則Python無法識別語句之間的間隔。簡單直白是Python語法的特點,通常一行只寫一條語句,這樣便於閱讀和理解程序。 Python同樣支持多行寫一條語句,Python使用「」作為換行符。多行寫一條語句適用於長語句的情況。
※Python 常用相關庫介紹
※零基礎用 Python 畫圖表,論文、數據報表必備
TAG:Python |