python語言介紹_第1頁
python語言介紹_第2頁
python語言介紹_第3頁
python語言介紹_第4頁
python語言介紹_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Python語言介紹及編程入門,語音平臺 王明,概述,Python(發(fā)音: pai()n; (US) pain ),是一種面向?qū)ο蟮慕忉屝缘挠嬎銠C程序設(shè)計語言,也是一種功能強大而完善的通用型語言,已經(jīng)具有十多年的發(fā)展歷史,成熟且穩(wěn)定。Python 具有腳本語言中最豐富和強大的類庫,足以支持絕大多數(shù)日常應(yīng)用。這種語言具有非常簡捷而清晰的語法特點,適合完成各種高層任務(wù),幾乎可以在所有的操作系統(tǒng)中運行。目前,基于這種語言的相關(guān)技術(shù)正在飛速的發(fā)展,用戶數(shù)量急劇擴大,相關(guān)的資源非常多。,Python的Hello World程序,下面是一個在標準輸出設(shè)備上輸出Hello World的簡單程序:#!/usr

2、/bin/env pythonprint Hello, world!,Python的歷史,Python的創(chuàng)始人為Guido van Rossum。1989年圣誕節(jié)期間,在阿姆斯特丹,Guido為了打發(fā)圣誕節(jié)的無趣,決心開發(fā)一個新的腳本解釋程序,做為 ABC 語言的一種繼承。之所以選中 Python(大蟒蛇的意思)作為程序的名字,是因為他是一個Monty Python的飛行馬戲團的愛好者。ABC是由Guido參加設(shè)計的一種教學(xué)語言。就Guido本人看來,ABC 這種語言非常優(yōu)美和強大,是專門為非專業(yè)程序員設(shè)計的。但是ABC語言并沒有成功,究其原因,Guido 認為是非開放造成的。Guido 決心

3、在 Python 中避免這一錯誤(的確如此,Python 與其它的語言如C、C+和Java結(jié)合的非常好)。同時,他還想實現(xiàn)在 ABC 中閃現(xiàn)過但未曾實現(xiàn)的東西。就這樣,Python在Guido手中誕生了。實際上,第一個實現(xiàn)是在Mac機上??梢哉f,Python是從ABC發(fā)展起來,主要受到了Modula-3(另一種相當優(yōu)美且強大的語言,為小型團體所設(shè)計的)的影響。并且結(jié)合了Unix shell和C的習(xí)慣。,Python在編程語言中的定位,雖然 Python 可能被粗略地分類為腳本語言(scripting language), 實際上一些大規(guī)模軟件開發(fā)計劃例如 Zope, Mnet 及 BitTor

4、rent. Google也廣泛地使用它。 Python 的支持者較喜歡稱它為一種高階動態(tài)編程語言 , 原因是腳本語言 泛指單用作簡單編程任務(wù)如 shell scripts ,而Python不能與JavaScript等只能處理簡單任務(wù)的編程語言相提并論。,Python的特色(一),可擴充性可說是Python作為一種編程語言的特色。新的內(nèi)置模塊(module)可以用C 或 C+寫成。而我們也可為現(xiàn)成的模塊加上Python的接口。Python可以使用戶避免過分的語法的羈絆而將精力主要集中到所要實現(xiàn)的程序任務(wù)上。Python也被稱為是一門清晰的語言。因為它的作者在設(shè)計它的時候,總的指導(dǎo)思想是,對于一個

5、特定的問題,只要有一種最好的方法來解決就好了。這在由Tim Peters寫的python格言(稱為The Zen of Python)里面表述為:There should be one- and preferably only one -obvious way to do it. 有意思的是,這正好和Perl語言(另一種功能類似的高級動態(tài)語言)的中心思想TMTOWTDI(Theres More Than One Way To Do It)完全相反。這似乎是人們常把Perl和Python互相比較的重要原因。,Python的特色(二),Python語言是一種清晰的語言的另一個意思是,它的作者有意的

6、設(shè)計限制性很強的語法,使得不好的編程習(xí)慣(例如if語句的下一行不向右縮進)都不能通過編譯。這樣有意的強制程序員養(yǎng)成良好的編程習(xí)慣。其中很重要的一項就是Python的縮進規(guī)則。例如if語句:if age21: print You cannot buy wine!n print But you can buy chewing gum.nprint this is outside ifn,Python的特色(三),一個和其他大多數(shù)語言(如C)的區(qū)別就是,一個模塊的界限,完全是由每行的首字符在這一行的位置來決定的(而C語言是用一對花括號來明確的定出模塊的邊界的,與字符的位置毫無關(guān)系)。這一點曾經(jīng)引起過

7、爭議。因為自從C這類的語言誕生后,語言的語法含義與字符的排列方式分離開來,曾經(jīng)被認為是一種程序語言的進步。不過不可否認的是,通過強制程序員們縮進(包括if,for和函數(shù)定義等所有需要使用模塊的地方),Python確實使得程序更加清晰和美觀。另外Python在其他部分的設(shè)計上也堅持了清晰劃一的風格,這使得Python稱為一門易讀性、易維護性好,并且被大量用戶所歡迎的、用途廣泛的語言。,Python的局限,雖然Python是一個非常成功的語言,但是也有必要明白它的局限性。1. 運行效率低下? 目前為止,Python可以說是所有主流腳本語言中速度最慢的。(是這樣么?待考.)這與其腳本引擎的設(shè)計思路有

8、關(guān)。 如果你的應(yīng)用對于速度有著較高的要求,就要考慮Python是否能滿足需要。不過這一點可以通 過使用C編寫關(guān)鍵模塊,然后由Python調(diào)用的方式加以部分解決。2. 多線程支持欠佳 Python支持多線程,但是其運行效率也不高。3. 獨特的語法 這也許不應(yīng)該被稱為局限,但是它用縮進來區(qū)分語句關(guān)系的方式還是給很多初學(xué)者帶來了困惑。 即便是很有經(jīng)驗的Python程序員,也可能陷入陷阱當中。最常見的情況是tab和空格的混用會導(dǎo) 致錯誤,而這是用肉眼無法分別的。4. 無類型 作為一種動態(tài)語言,隨時隨地創(chuàng)建和使用變量是Python給我們帶來的巨大的便利。但是它也會 使得程序不嚴謹,某些錯誤只有在運行中才

9、可能出現(xiàn)。所以,使用Python編程的時候,要對類 型做到心里有數(shù)。這也使得Python的IDE工具無法提供便利的自動完成等功能。,Python的前景,Python在編程領(lǐng)域的占有率一直處于穩(wěn)步上升之中,根據(jù)最新的數(shù)據(jù),Python排名第七。前六名分別是Java,C,VB,C+,PHP和Perl. 作為一個很年輕的語言,Python的位置已經(jīng)相當令人振奮了。隨著微軟將Python納入.Net 平臺,相信Python的將來會更加強勁發(fā)展。Python 很可能會成為.Net平臺快速開發(fā)的主流語言。欲了解這方面情況,請參考Iron Python的相關(guān)信息. 著名的搜索引擎 Google 也大量使用P

10、ython。更加令人吃驚的是,在Nokia智能手機所采用的Symbian操作系統(tǒng)上,Python成為繼C+,Java之后的第三個編程語言!可見Python的影響力之巨大。,Python的應(yīng)用,網(wǎng)絡(luò)開發(fā): socket編程, twisted ,jabber ,python-qq Web開發(fā): mod_python, zope/plone, django, karrigell 圖形開發(fā): PIL , plot , 2d , 3d GUI開發(fā):tcl/tk ,wxPython ,pygtk ,pyqt ,ctypes ,pyswt 文檔處理: epydoc , reStruecturedText ,

11、 reportlab , moinmoin 科學(xué)計算: numarray , numeric 移動開發(fā)、嵌入開發(fā)、游戲開發(fā)、數(shù)據(jù)庫開發(fā),Python的影響,Java平臺 Jython groovy .net平臺 IronPython boo,如何學(xué)習(xí)Python,實踐是檢驗真理的唯一標準 學(xué)習(xí)開源精神 在工作和學(xué)習(xí)中主動應(yīng)用 訂閱郵件列表與人交流 參與項目 多看源代碼 勤寫作、勤積累,Python語言的介紹,Python 中的關(guān)鍵字和語法 常用的數(shù)據(jù)結(jié)構(gòu) 文件處理 、socket編程 模塊和包 錯誤與例外 基本的調(diào)試技巧,Python 中的關(guān)鍵字和語法,關(guān)鍵字: and del for is

12、raise assert elif from lambda return break else global not try class except if or while continue exec import pass yield def finally in print,常見運算符和分割符,以下符號是常見運算符: + - * / % andornot (條件運算符) (移位) += -= *= /= %=,語法,if 語句格式 for語句格式:遍歷一個序列 range()函數(shù):生成包含數(shù)字序列的列表 具體示例在 syntax.py 中,常用的數(shù)據(jù)結(jié)構(gòu):,字符串:輸出格式、可以通過下標

13、訪問、可以用+號連接 列表:無類型限制,可通過下標訪問,可修改可嵌套,支持對象的方法 序表:允許嵌套,不允許對序表的某一項賦值 字典:支持對象的方法 具體示例在 data_structure.py 中,模塊和包,模塊是包含了Python 定義和語句的文件: xx.py。 Python 中可以用“包”來組織Python 的模塊名字空間,一個包名通常對應(yīng)一個文件夾。里面包含一些模塊文件,必需有一個_init_.py.,錯誤與例外,分語法錯和例外錯. 可以用 try except 語句捕捉異常, raise 語句拋出異常,與 c+類似.,文件處理,簡單示例: f = open(a.txt, w) f

14、.write(abcdef) f.close(),socket編程,一個具體的server/client通訊實例見sock_server.py和sock_client.py,Python中調(diào)用cc+模塊,一個典型的Python擴展模塊至少應(yīng)該包含三個部分:導(dǎo)出函數(shù)、方法列表和初始化函數(shù),核心思想就是加了一層封裝。 參考示例,基本的調(diào)試技巧,1.print 夾殺法 2.用ide調(diào)試,開發(fā)注意事項,在windows平臺下要運行python腳本,需要添加python解釋器所在目錄到系統(tǒng)環(huán)境變量PATH中 注意正確的縮進。 推薦一個IDE工具 wing IDE 在windows下的打包工具py2exe,Python在中國的發(fā)展,2000年P(guān)ython已經(jīng)進入中國 中國Linuxforum論壇Python版成立(2001.4) 中蟒(2002.4) C(2003.2)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論