《Python語言程序設(shè)計(jì)(第2版)》課件 第1章-簡介及示例_第1頁
《Python語言程序設(shè)計(jì)(第2版)》課件 第1章-簡介及示例_第2頁
《Python語言程序設(shè)計(jì)(第2版)》課件 第1章-簡介及示例_第3頁
《Python語言程序設(shè)計(jì)(第2版)》課件 第1章-簡介及示例_第4頁
《Python語言程序設(shè)計(jì)(第2版)》課件 第1章-簡介及示例_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

本章內(nèi)容01Python簡介02程序基礎(chǔ)和Python編程環(huán)境03HelloWorld程序04輸入、輸出及IDLE環(huán)境介紹05應(yīng)用案例——簡易數(shù)據(jù)管理程序本章目標(biāo)了解程序設(shè)計(jì)和Python語言的基本概念掌握Python語言的注釋方法、書寫規(guī)范和標(biāo)準(zhǔn)輸入/輸出方法理解本章給出的示例程序并能夠搭建Python環(huán)境運(yùn)行這些示例程序Python簡介Python簡介Python的優(yōu)點(diǎn)簡單易學(xué):使用盡量少的代碼,完成更多工作免費(fèi)開源:免費(fèi)使用,開放源代碼跨平臺(tái)性:Python程序可在Linux、Windows、Mac、Android等平臺(tái)上運(yùn)行高層語言:開發(fā)者可忽略底層細(xì)節(jié),專注于如何使用Python解決問題面向?qū)ο螅耗7氯祟愓J(rèn)識(shí)客觀世界的方式,將軟件系統(tǒng)看成由多類對(duì)象組成豐富的庫:以“搭積木”方式快速完成應(yīng)用系統(tǒng)開發(fā),庫提供了大量“積木”膠水語言:可使用其他編程語言編寫的模塊應(yīng)用領(lǐng)域系統(tǒng)編程提供API(ApplicationProgrammingInterface,應(yīng)用程序編程接口),能方便進(jìn)行系統(tǒng)維護(hù)和管理,Linux下標(biāo)志性語言之一,是很多系統(tǒng)管理員理想的編程工具。圖形界面開發(fā)Python在圖形界面開發(fā)上很強(qiáng)大,可以用Tkinter/PyQT框架開發(fā)各種桌面軟件。應(yīng)用領(lǐng)域科學(xué)計(jì)算Python是一門很適合做科學(xué)計(jì)算的編程語言,從1997年開始,NASA就大量使用Python進(jìn)行各種復(fù)雜的科學(xué)運(yùn)算,隨著NumPy、SciPy、Matplotlib、Enthoughtlibrarys等眾多程序庫的開發(fā),使得Python越來越適合做科學(xué)計(jì)算并繪制高質(zhì)量的2D和3D圖像。Python提供的re模塊能支持正則表達(dá)式,還提供SGML、XML分析模塊,許多程序員利用Python進(jìn)行XML程序的開發(fā)。文本處理應(yīng)用領(lǐng)域數(shù)據(jù)庫編程程序員可通過遵循PythonDB-API(數(shù)據(jù)庫應(yīng)用程序編程接口)規(guī)范的模塊與MicrosoftSQLServer、Oracle、Sybase、DB2、MySQL、SQLite等數(shù)據(jù)庫通信。另外,Python自帶有一個(gè)Gadfly模塊,提供了一個(gè)完整的SQL環(huán)境。網(wǎng)絡(luò)編程提供豐富的模塊支持Sockets編程,能方便快速地開發(fā)分布式應(yīng)用程序。應(yīng)用領(lǐng)域Web開發(fā)Python擁有很多免費(fèi)數(shù)據(jù)函數(shù)庫、免費(fèi)web網(wǎng)頁模板系統(tǒng)以及與web服務(wù)器進(jìn)行交互的庫,可以實(shí)現(xiàn)web開發(fā),搭建web框架。目前最火的Pythonweb框架Django,Django官方的標(biāo)語把Django定義為theframeworkforperfectionistwithdeadlines(完美主義者使用的高效率web框架)。用Python開發(fā)的Web項(xiàng)目小而精,支持最新的XML技術(shù),而且數(shù)據(jù)處理的功能較為強(qiáng)大。應(yīng)用領(lǐng)域自動(dòng)化運(yùn)維Python是運(yùn)維人員廣泛使用的語言,能滿足絕大部分自動(dòng)化運(yùn)維需求,包括前端和后端。金融分析利用Numpy、Pandas、Scipy等數(shù)據(jù)分析模塊,可快速完成金融分析工作。目前,Python是金融分析、量化交易領(lǐng)域里使用最多的語言。應(yīng)用領(lǐng)域多媒體應(yīng)用Python的PyOpenGL模塊封裝了“OpenGL應(yīng)用程序編程接口”,能進(jìn)行二維和三維圖像處理。網(wǎng)絡(luò)爬蟲在爬蟲領(lǐng)域,Python幾乎是霸主地位,提供了Scrapy、Request、BeautifulSoap、urllib等工具庫,將網(wǎng)絡(luò)中的一切數(shù)據(jù)作為資源,通過自動(dòng)化程序進(jìn)行有針對(duì)性的數(shù)據(jù)采集以及處理。應(yīng)用領(lǐng)域游戲開發(fā)在網(wǎng)絡(luò)游戲開發(fā)中Python也有很多應(yīng)用。相比Lua,Python有更高階的抽象能力,可以用更少的代碼描述游戲業(yè)務(wù)邏輯。另外,Python更適合作為一種Host語言,即程序的入口點(diǎn)是在Python那一端會(huì)比較好,然后用C/C++寫一些擴(kuò)展。Python非常適合編寫1萬行以上的項(xiàng)目,而且能夠很好地把網(wǎng)游項(xiàng)目的規(guī)??刂圃?0萬行代碼以內(nèi)。GAME應(yīng)用領(lǐng)域人工智能NASA和Google早期大量使用Python,為Python積累了豐富的科學(xué)運(yùn)算庫。當(dāng)AI(ArtificialIntelligence,人工智能)時(shí)代來臨后,Python從眾多編程語言中脫穎而出,各種AI算法都基于Python編寫。在神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)方面,Python都能夠找到比較成熟的包來加以調(diào)用。另外,Python是面向?qū)ο蟮膭?dòng)態(tài)語言,且適用于科學(xué)計(jì)算,這就使得Python在人工智能方面?zhèn)涫芮嗖A。常用工具庫簡介常用工具庫簡介Numpy&ScipyPandasNumpy除了提供一些高級(jí)的數(shù)學(xué)運(yùn)算機(jī)制外,還具備非常高效的向量和矩陣運(yùn)算功能。Scipy是在Numpy基礎(chǔ)上構(gòu)建的更為強(qiáng)大、應(yīng)用領(lǐng)域也更為廣泛的科學(xué)計(jì)算包一款針對(duì)于數(shù)據(jù)處理和分析的Python工具包,實(shí)現(xiàn)了大量便于數(shù)據(jù)讀寫、清洗、填充以及分析的功能,使數(shù)據(jù)預(yù)處理工作更加簡單常用工具庫簡介Scikit-learnMatplotlibAnaconda封裝了大量經(jīng)典以及最新的機(jī)器學(xué)習(xí)模型一款Python編程環(huán)境下免費(fèi)使用的繪圖工具包,其工作方式和繪圖命令幾乎和MATLAB類似一個(gè)集成平臺(tái),可以一次性獲得300多種用于科學(xué)和工程計(jì)算相關(guān)任務(wù)的Python編程庫的支持常用工具庫簡介網(wǎng)絡(luò)爬蟲程序示例#導(dǎo)入Python中用于網(wǎng)絡(luò)爬蟲的urllib.request模塊fromurllibimportrequest首先#通過下面這兩條語句就可以將URL的源碼存在content變量中,其類型為字符型url=''#把等號(hào)右邊的網(wǎng)址賦值給urlcontent=request.urlopen(url).read()#等號(hào)后面的動(dòng)作是打開源代碼頁面,并閱讀然后#可以將獲取到的URL源碼通過print函數(shù)輸出print(content)最后程序基礎(chǔ)和Python編程環(huán)境程序基礎(chǔ)和Python編程環(huán)境指令和程序每臺(tái)計(jì)算機(jī)都有自己的指令(Instruction)集合,每條指令可以讓計(jì)算機(jī)完成一個(gè)最基本的操作。程序(Program)則是由一系列指令根據(jù)特定規(guī)則組合而成,在計(jì)算機(jī)上執(zhí)行程序的過程實(shí)質(zhì)上就是組成程序的各條指令按順序依次執(zhí)行的過程。輸入數(shù)據(jù)數(shù)據(jù)處理輸出數(shù)據(jù)高級(jí)程序設(shè)計(jì)語言和低級(jí)程序設(shè)計(jì)語言高級(jí)程序設(shè)計(jì)語言包括Python、C/C++、Java等低級(jí)程序設(shè)計(jì)語言包括匯編語言和機(jī)器語言編程語言表示形式Python語言a=b+1匯編語言mov0x804a01c,%eaxadd$0x1,%eaxmov%eax,0x804a018機(jī)器語言a11ca0040883c001a318a00408編譯型語言和解釋型語言編譯高級(jí)語言編寫的程序稱為源代碼(SourceCode)或源文件。編譯(Compile)是將源代碼全部翻譯成機(jī)器指令,再加上一些描述信息,生成一個(gè)新的文件。這個(gè)新的文件稱為可執(zhí)行文件。一個(gè)可執(zhí)行文件可以在計(jì)算機(jī)上多次運(yùn)行,因此,在不修改源代碼的情況下,只需要做一次編譯即可。源代碼編譯器可執(zhí)行文件加載器執(zhí)行結(jié)果編譯器讀取源代碼編譯器生成可執(zhí)行文件操作系統(tǒng)加載可執(zhí)行文件運(yùn)行可執(zhí)行文件中的機(jī)器指令編譯型語言和解釋型語言解釋解釋(Interpret)是在程序運(yùn)行時(shí)才對(duì)源代碼進(jìn)行逐條語句的翻譯并運(yùn)行。解釋型語言編寫的程序每執(zhí)行一次,就要翻譯一次,翻譯結(jié)果不會(huì)像編譯型語言一樣保存在可執(zhí)行文件中,因此效率較低。Python是一種解釋型語言,但為了提高運(yùn)行效率,Python程序在執(zhí)行一次之后會(huì)自動(dòng)生成擴(kuò)展名為.pyc的字節(jié)碼文件;字節(jié)碼不同于機(jī)器語言,但很容易轉(zhuǎn)換為機(jī)器語言。提示源代碼解釋器執(zhí)行結(jié)果解釋器讀取源代碼解釋并執(zhí)行當(dāng)前語句環(huán)境安裝安裝包下載Python官網(wǎng)()的Downloads環(huán)境安裝安裝包下載環(huán)境安裝安裝包下載環(huán)境安裝Windows平臺(tái)上安裝Python語言環(huán)境環(huán)境安裝Windows平臺(tái)上Python語言環(huán)境使用HelloWorld程序HelloWorld程序HelloWorld程序1 '''#3個(gè)連續(xù)的單引號(hào)2 ThisismyfirstPythonprogram3 Author:KaiWang4 CreateDate:09/09/20235 '''#3個(gè)連續(xù)的單引號(hào)6 print("HelloWorld!")#在屏幕上輸出:HelloWorld!運(yùn)行方式交互式運(yùn)行腳本式運(yùn)行中文編碼HelloWorld代碼修改6 print("你好,世界!")#在屏幕上輸出:你好,世界!注意使用Python3.x環(huán)境創(chuàng)建Python腳本文件時(shí),需要將文件編碼格式設(shè)置為UTF-8,否則運(yùn)行腳本時(shí)可能會(huì)報(bào)錯(cuò)。例如,如果在使用ANSI編碼的Python腳本文件中輸入代碼并運(yùn)行,則會(huì)出現(xiàn)如下錯(cuò)誤信息提示:SyntaxError:Non-UTF-8codestartingwith'\xcd'infiled:/pythonsamplecode/01/helloworld.pyonline4,butnoencodingdeclared;see/dev/peps/pep-0263/fordetails注釋單行注釋6 print("HelloWorld!")#在屏幕上輸出:HelloWorld!多行注釋1 '''#也可使用三個(gè)連續(xù)的雙引號(hào)2 ThisismyfirstPythonprogram3 Author:KaiWang4 CreateDate:09/09/20235 '''#也可使用三個(gè)連續(xù)的雙引號(hào)注釋注意在編寫程序時(shí)是否對(duì)代碼添加注釋不會(huì)影響程序的實(shí)際運(yùn)行結(jié)果,但良好的注釋將有助于增強(qiáng)程序的可讀性、從而提高程序的可維護(hù)性書寫規(guī)范Python語言通過縮進(jìn)方式體現(xiàn)各條語句之間的邏輯關(guān)系1 bPrint=True#為變量bPrint賦值為True2 ifbPrint:#如果bPrint的值為True,則執(zhí)行bPrint=False和print("Yes")3 bPrint=False#將bPrint設(shè)置為False4 print("Yes")#輸出:Yes5 print(bPrint)#輸出bPrint的值Python語言中的強(qiáng)制縮進(jìn)代碼示例關(guān)于Python中的代碼縮進(jìn)Python語言對(duì)于行首縮進(jìn)的方式?jīng)]有嚴(yán)格限制,既可以使用空格也可以使用制表符(Tab鍵),常用對(duì)代碼進(jìn)行一個(gè)層次縮進(jìn)的方式有:1個(gè)制表符,2個(gè)空格,或者4個(gè)空格。對(duì)于同一層次的代碼,必須使用相同的縮進(jìn)方式,否則會(huì)報(bào)錯(cuò)例如,如果同一層次的代碼有的縮進(jìn)2個(gè)空格,而有的縮進(jìn)4個(gè)空格,則會(huì)報(bào)如下錯(cuò)誤:

IndentationError:unexpectedindent再如,如果同一層次的代碼有的縮進(jìn)1個(gè)制表符,而有的縮進(jìn)4個(gè)空格,則會(huì)報(bào)如下錯(cuò)誤:

IndentationError:unindentdoesnotmatchanyouterindentationlevel輸入、輸出及IDLE環(huán)境介紹輸入、輸出及IDLE環(huán)境介紹input函數(shù)功能語法格式接收標(biāo)準(zhǔn)輸入數(shù)據(jù)(即從鍵盤輸入),返回為str類型的數(shù)據(jù)(即字符串)input([prompt])1、prompt是一個(gè)可選參數(shù),給用戶的提示信息;

不傳該參數(shù),則沒有提示信息,用戶直接從鍵盤輸入數(shù)據(jù)2、本課程規(guī)定,如果一個(gè)參數(shù)寫在一對(duì)方括號(hào)“[…]”中,則表示該參數(shù)

是可選參數(shù)input函數(shù)示例1 name=input(“請(qǐng)輸入你的姓名:”)#輸入:張三2 print(name)eval函數(shù)功能:計(jì)算字符串所對(duì)應(yīng)的表達(dá)式的值,返回表達(dá)式的計(jì)算結(jié)果語法格式:eval(expression)1、expression是字符串類型的參數(shù),對(duì)應(yīng)一個(gè)有效的Python表達(dá)式2、eval函數(shù)的完整語法格式為:eval(expression,globals=None,locals=None)eval函數(shù)示例1 r=eval(input("請(qǐng)輸入一個(gè)有效的表達(dá)式:"))2 print(r)print函數(shù)功能將各種類型的數(shù)據(jù)(字符串、整數(shù)、浮點(diǎn)數(shù)、列表、字典等)輸出到屏幕上語法格式print(object)其中,object是要輸出的數(shù)據(jù)print函數(shù)示例1 print("HelloWorld!")#輸出:HelloWorld!2 print(10)#輸出:103 print(3.5)#輸出:3.54 print([1,3,5,'list'])#輸出:[1,3,5,'list']5 print({1:'A',2:'B',3:'C',4:'D'})#輸出:{1:'A',2:'B',3:'C',4:'D'}IDLE環(huán)境介紹IDLE(Python’sIntegratedDevelopmentandLearningEnvironment,Python集成開發(fā)和學(xué)習(xí)環(huán)境)對(duì)于一些大型程序的編寫和調(diào)試,也可以考慮使用PyCharm等集成開發(fā)環(huán)境對(duì)于初學(xué)者進(jìn)行一些小程序的編寫和調(diào)試,IDLE環(huán)境完全能夠滿足需求IDLE環(huán)境介紹交互式運(yùn)行方式兩種窗口模式:Shell和Editor(編輯器)創(chuàng)建Python腳本選擇Shell窗口中的File->NewFile創(chuàng)建Python腳本文件并打開Editor窗口創(chuàng)建Python腳本保存(File->Save)后,在Editor窗口選擇Run->RunModule菜單項(xiàng),可運(yùn)行當(dāng)前腳本文件,并在Shell窗口輸出運(yùn)行結(jié)果Python程序的錯(cuò)誤類型在編寫Python程序時(shí),主要會(huì)遇到兩類錯(cuò)誤:語法錯(cuò)誤和邏輯錯(cuò)誤當(dāng)執(zhí)行到有語法錯(cuò)誤的代碼時(shí),Python解釋器會(huì)顯示出錯(cuò)信息,開發(fā)者可根據(jù)提示信息分析錯(cuò)誤原因并解決然而,Python解釋器并無法發(fā)現(xiàn)邏輯錯(cuò)誤,當(dāng)執(zhí)行有邏輯錯(cuò)誤的代碼時(shí),解釋器不會(huì)報(bào)任何錯(cuò)誤,但最后的執(zhí)行結(jié)果會(huì)與預(yù)期不一致Python程序的調(diào)試為了能夠分析執(zhí)行結(jié)果錯(cuò)誤的原因,所有編程語言的集成開發(fā)環(huán)境都會(huì)提供調(diào)試的功能。通過調(diào)試可以逐條語句執(zhí)行程序并查看每條語句執(zhí)行后各變量的狀態(tài),也可以設(shè)置斷點(diǎn)讓程序執(zhí)行時(shí)遇到斷點(diǎn)就暫停執(zhí)行、停在斷點(diǎn)所在的代碼處。在IDLE的Shell窗口中有一個(gè)Debug菜單,該菜單中的菜單項(xiàng)就是用來調(diào)試Python程序。目前編寫的程序都比較簡單,不容易出現(xiàn)邏輯錯(cuò)誤;編寫復(fù)雜程序時(shí)如果遇到邏輯錯(cuò)誤,可參考網(wǎng)上材

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論