版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Python語(yǔ)言介紹及編程入門,語(yǔ)音平臺(tái) 王明,概述,Python(發(fā)音: pai()n; (US) pain ),是一種面向?qū)ο蟮慕忉屝缘挠?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,也是一種功能強(qiáng)大而完善的通用型語(yǔ)言,已經(jīng)具有十多年的發(fā)展歷史,成熟且穩(wěn)定。Python 具有腳本語(yǔ)言中最豐富和強(qiáng)大的類庫(kù),足以支持絕大多數(shù)日常應(yīng)用。這種語(yǔ)言具有非常簡(jiǎn)捷而清晰的語(yǔ)法特點(diǎn),適合完成各種高層任務(wù),幾乎可以在所有的操作系統(tǒng)中運(yùn)行。目前,基于這種語(yǔ)言的相關(guān)技術(shù)正在飛速的發(fā)展,用戶數(shù)量急劇擴(kuò)大,相關(guān)的資源非常多。,Python的Hello World程序,下面是一個(gè)在標(biāo)準(zhǔn)輸出設(shè)備上輸出Hello World的簡(jiǎn)單程序:#!/usr
2、/bin/env pythonprint Hello, world!,Python的歷史,Python的創(chuàng)始人為Guido van Rossum。1989年圣誕節(jié)期間,在阿姆斯特丹,Guido為了打發(fā)圣誕節(jié)的無(wú)趣,決心開發(fā)一個(gè)新的腳本解釋程序,做為 ABC 語(yǔ)言的一種繼承。之所以選中 Python(大蟒蛇的意思)作為程序的名字,是因?yàn)樗且粋€(gè)Monty Python的飛行馬戲團(tuán)的愛(ài)好者。ABC是由Guido參加設(shè)計(jì)的一種教學(xué)語(yǔ)言。就Guido本人看來(lái),ABC 這種語(yǔ)言非常優(yōu)美和強(qiáng)大,是專門為非專業(yè)程序員設(shè)計(jì)的。但是ABC語(yǔ)言并沒(méi)有成功,究其原因,Guido 認(rèn)為是非開放造成的。Guido 決心
3、在 Python 中避免這一錯(cuò)誤(的確如此,Python 與其它的語(yǔ)言如C、C+和Java結(jié)合的非常好)。同時(shí),他還想實(shí)現(xiàn)在 ABC 中閃現(xiàn)過(guò)但未曾實(shí)現(xiàn)的東西。就這樣,Python在Guido手中誕生了。實(shí)際上,第一個(gè)實(shí)現(xiàn)是在Mac機(jī)上。可以說(shuō),Python是從ABC發(fā)展起來(lái),主要受到了Modula-3(另一種相當(dāng)優(yōu)美且強(qiáng)大的語(yǔ)言,為小型團(tuán)體所設(shè)計(jì)的)的影響。并且結(jié)合了Unix shell和C的習(xí)慣。,Python在編程語(yǔ)言中的定位,雖然 Python 可能被粗略地分類為腳本語(yǔ)言(scripting language), 實(shí)際上一些大規(guī)模軟件開發(fā)計(jì)劃例如 Zope, Mnet 及 BitTor
4、rent. Google也廣泛地使用它。 Python 的支持者較喜歡稱它為一種高階動(dòng)態(tài)編程語(yǔ)言 , 原因是腳本語(yǔ)言 泛指單用作簡(jiǎn)單編程任務(wù)如 shell scripts ,而Python不能與JavaScript等只能處理簡(jiǎn)單任務(wù)的編程語(yǔ)言相提并論。,Python的特色(一),可擴(kuò)充性可說(shuō)是Python作為一種編程語(yǔ)言的特色。新的內(nèi)置模塊(module)可以用C 或 C+寫成。而我們也可為現(xiàn)成的模塊加上Python的接口。Python可以使用戶避免過(guò)分的語(yǔ)法的羈絆而將精力主要集中到所要實(shí)現(xiàn)的程序任務(wù)上。Python也被稱為是一門清晰的語(yǔ)言。因?yàn)樗淖髡咴谠O(shè)計(jì)它的時(shí)候,總的指導(dǎo)思想是,對(duì)于一個(gè)
5、特定的問(wèn)題,只要有一種最好的方法來(lái)解決就好了。這在由Tim Peters寫的python格言(稱為The Zen of Python)里面表述為:There should be one- and preferably only one -obvious way to do it. 有意思的是,這正好和Perl語(yǔ)言(另一種功能類似的高級(jí)動(dòng)態(tài)語(yǔ)言)的中心思想TMTOWTDI(Theres More Than One Way To Do It)完全相反。這似乎是人們常把Perl和Python互相比較的重要原因。,Python的特色(二),Python語(yǔ)言是一種清晰的語(yǔ)言的另一個(gè)意思是,它的作者有意的
6、設(shè)計(jì)限制性很強(qiáng)的語(yǔ)法,使得不好的編程習(xí)慣(例如if語(yǔ)句的下一行不向右縮進(jìn))都不能通過(guò)編譯。這樣有意的強(qiáng)制程序員養(yǎng)成良好的編程習(xí)慣。其中很重要的一項(xiàng)就是Python的縮進(jìn)規(guī)則。例如if語(yǔ)句:if age21: print You cannot buy wine!n print But you can buy chewing gum.nprint this is outside ifn,Python的特色(三),一個(gè)和其他大多數(shù)語(yǔ)言(如C)的區(qū)別就是,一個(gè)模塊的界限,完全是由每行的首字符在這一行的位置來(lái)決定的(而C語(yǔ)言是用一對(duì)花括號(hào)來(lái)明確的定出模塊的邊界的,與字符的位置毫無(wú)關(guān)系)。這一點(diǎn)曾經(jīng)引起過(guò)
7、爭(zhēng)議。因?yàn)樽詮腃這類的語(yǔ)言誕生后,語(yǔ)言的語(yǔ)法含義與字符的排列方式分離開來(lái),曾經(jīng)被認(rèn)為是一種程序語(yǔ)言的進(jìn)步。不過(guò)不可否認(rèn)的是,通過(guò)強(qiáng)制程序員們縮進(jìn)(包括if,for和函數(shù)定義等所有需要使用模塊的地方),Python確實(shí)使得程序更加清晰和美觀。另外Python在其他部分的設(shè)計(jì)上也堅(jiān)持了清晰劃一的風(fēng)格,這使得Python稱為一門易讀性、易維護(hù)性好,并且被大量用戶所歡迎的、用途廣泛的語(yǔ)言。,Python的局限,雖然Python是一個(gè)非常成功的語(yǔ)言,但是也有必要明白它的局限性。1. 運(yùn)行效率低下? 目前為止,Python可以說(shuō)是所有主流腳本語(yǔ)言中速度最慢的。(是這樣么?待考.)這與其腳本引擎的設(shè)計(jì)思路有
8、關(guān)。 如果你的應(yīng)用對(duì)于速度有著較高的要求,就要考慮Python是否能滿足需要。不過(guò)這一點(diǎn)可以通 過(guò)使用C編寫關(guān)鍵模塊,然后由Python調(diào)用的方式加以部分解決。2. 多線程支持欠佳 Python支持多線程,但是其運(yùn)行效率也不高。3. 獨(dú)特的語(yǔ)法 這也許不應(yīng)該被稱為局限,但是它用縮進(jìn)來(lái)區(qū)分語(yǔ)句關(guān)系的方式還是給很多初學(xué)者帶來(lái)了困惑。 即便是很有經(jīng)驗(yàn)的Python程序員,也可能陷入陷阱當(dāng)中。最常見的情況是tab和空格的混用會(huì)導(dǎo) 致錯(cuò)誤,而這是用肉眼無(wú)法分別的。4. 無(wú)類型 作為一種動(dòng)態(tài)語(yǔ)言,隨時(shí)隨地創(chuàng)建和使用變量是Python給我們帶來(lái)的巨大的便利。但是它也會(huì) 使得程序不嚴(yán)謹(jǐn),某些錯(cuò)誤只有在運(yùn)行中才
9、可能出現(xiàn)。所以,使用Python編程的時(shí)候,要對(duì)類 型做到心里有數(shù)。這也使得Python的IDE工具無(wú)法提供便利的自動(dòng)完成等功能。,Python的前景,Python在編程領(lǐng)域的占有率一直處于穩(wěn)步上升之中,根據(jù)最新的數(shù)據(jù),Python排名第七。前六名分別是Java,C,VB,C+,PHP和Perl. 作為一個(gè)很年輕的語(yǔ)言,Python的位置已經(jīng)相當(dāng)令人振奮了。隨著微軟將Python納入.Net 平臺(tái),相信Python的將來(lái)會(huì)更加強(qiáng)勁發(fā)展。Python 很可能會(huì)成為.Net平臺(tái)快速開發(fā)的主流語(yǔ)言。欲了解這方面情況,請(qǐng)參考Iron Python的相關(guān)信息. 著名的搜索引擎 Google 也大量使用P
10、ython。更加令人吃驚的是,在Nokia智能手機(jī)所采用的Symbian操作系統(tǒng)上,Python成為繼C+,Java之后的第三個(gè)編程語(yǔ)言!可見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é)計(jì)算: numarray , numeric 移動(dòng)開發(fā)、嵌入開發(fā)、游戲開發(fā)、數(shù)據(jù)庫(kù)開發(fā),Python的影響,Java平臺(tái) Jython groovy .net平臺(tái) IronPython boo,如何學(xué)習(xí)Python,實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn) 學(xué)習(xí)開源精神 在工作和學(xué)習(xí)中主動(dòng)應(yīng)用 訂閱郵件列表與人交流 參與項(xiàng)目 多看源代碼 勤寫作、勤積累,Python語(yǔ)言的介紹,Python 中的關(guān)鍵字和語(yǔ)法 常用的數(shù)據(jù)結(jié)構(gòu) 文件處理 、socket編程 模塊和包 錯(cuò)誤與例外 基本的調(diào)試技巧,Python 中的關(guān)鍵字和語(yǔ)法,關(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,常見運(yùn)算符和分割符,以下符號(hào)是常見運(yùn)算符: + - * / % andornot (條件運(yùn)算符) (移位) += -= *= /= %=,語(yǔ)法,if 語(yǔ)句格式 for語(yǔ)句格式:遍歷一個(gè)序列 range()函數(shù):生成包含數(shù)字序列的列表 具體示例在 syntax.py 中,常用的數(shù)據(jù)結(jié)構(gòu):,字符串:輸出格式、可以通過(guò)下標(biāo)
13、訪問(wèn)、可以用+號(hào)連接 列表:無(wú)類型限制,可通過(guò)下標(biāo)訪問(wèn),可修改可嵌套,支持對(duì)象的方法 序表:允許嵌套,不允許對(duì)序表的某一項(xiàng)賦值 字典:支持對(duì)象的方法 具體示例在 data_structure.py 中,模塊和包,模塊是包含了Python 定義和語(yǔ)句的文件: xx.py。 Python 中可以用“包”來(lái)組織Python 的模塊名字空間,一個(gè)包名通常對(duì)應(yīng)一個(gè)文件夾。里面包含一些模塊文件,必需有一個(gè)_init_.py.,錯(cuò)誤與例外,分語(yǔ)法錯(cuò)和例外錯(cuò). 可以用 try except 語(yǔ)句捕捉異常, raise 語(yǔ)句拋出異常,與 c+類似.,文件處理,簡(jiǎn)單示例: f = open(a.txt, w) f
14、.write(abcdef) f.close(),socket編程,一個(gè)具體的server/client通訊實(shí)例見sock_server.py和sock_client.py,Python中調(diào)用cc+模塊,一個(gè)典型的Python擴(kuò)展模塊至少應(yīng)該包含三個(gè)部分:導(dǎo)出函數(shù)、方法列表和初始化函數(shù),核心思想就是加了一層封裝。 參考示例,基本的調(diào)試技巧,1.print 夾殺法 2.用ide調(diào)試,開發(fā)注意事項(xiàng),在windows平臺(tái)下要運(yùn)行python腳本,需要添加python解釋器所在目錄到系統(tǒng)環(huán)境變量PATH中 注意正確的縮進(jìn)。 推薦一個(gè)IDE工具 wing IDE 在windows下的打包工具py2exe,Python在中國(guó)的發(fā)展,2000年P(guān)ython已經(jīng)進(jìn)入中國(guó) 中國(guó)Linuxforum論壇Python版成立(2001.4) 中蟒(2002.4) C(2003.2)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 檢察文檔管理數(shù)字化資料
- 第二屆全國(guó)小動(dòng)物臨床技能大賽參考試題庫(kù)(含答案)
- 《網(wǎng)絡(luò)安全法》知識(shí)考試題庫(kù)300題(含答案)
- 2025年新疆交通職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 專題06 語(yǔ)法填空 解題技巧
- 2025年春季學(xué)期學(xué)校德育工作計(jì)劃安排表(完整版)
- 實(shí)驗(yàn)室的租賃合同
- 范文汽車場(chǎng)地租賃合同
- 搭建冷庫(kù)及對(duì)設(shè)備的銷售安裝合同
- 建筑服務(wù)勞務(wù)合同范本
- 2025年有機(jī)肥行業(yè)發(fā)展趨勢(shì)分析報(bào)告
- 2023-2024年員工三級(jí)安全培訓(xùn)考試題及參考答案(綜合題)
- 2025保安部年度工作計(jì)劃
- 2024年江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)
- 招標(biāo)采購(gòu)基礎(chǔ)知識(shí)培訓(xùn)
- 電力系統(tǒng)分布式模型預(yù)測(cè)控制方法綜述與展望
- 2024年注冊(cè)建筑師-二級(jí)注冊(cè)建筑師考試近5年真題附答案
- 五年級(jí)口算題卡每天100題帶答案
- 2024年貴州省中考理科綜合試卷(含答案)
- 無(wú)人機(jī)技術(shù)與遙感
評(píng)論
0/150
提交評(píng)論