項目六 初始Python概述_第1頁
項目六 初始Python概述_第2頁
項目六 初始Python概述_第3頁
項目六 初始Python概述_第4頁
項目六 初始Python概述_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目六初始Python目錄6.2【任務(wù)2】投擲骰子6.1【任務(wù)1】安裝Python,并輸出helloworld6.3【任務(wù)3】提取分解數(shù)據(jù)6.4【任務(wù)4】編寫TCP通訊程序案例分析3Python被稱為膠水語言,因為它具有豐富和強(qiáng)大的第三方庫。它能夠把其他語言制作的各種模塊(尤其是C/C++)很輕松地聯(lián)系在一起。本任務(wù)是在Windows環(huán)境中安裝Python軟件,并使用命令提示符的方式輸出“helloWorld”。需求描述案例分析4找到Python官網(wǎng),下載Python安裝包。傻瓜式安裝Python軟件。檢驗Python是否安裝成功。輸出“helloWorld”。設(shè)計思路任務(wù)一安裝Python,并輸出helloworld5案例展示知識點講解601020304Python語言的特點Python語言的歷史與發(fā)展Python語言的應(yīng)用領(lǐng)域Python程序的運(yùn)行方式Python語言的歷史與發(fā)展Python語言的歷史與發(fā)展Python是一門跨平臺、開源、免費的解釋型高級動態(tài)編程語言,1989年由荷蘭人GuidovanRossum發(fā)明,1991年公開發(fā)行第一個版本。Guido曾參與設(shè)計一種名為ABC的教學(xué)語言,他本人認(rèn)為ABC這種語言非常優(yōu)美且強(qiáng)大,但ABC最終未能成功。1989年圣誕節(jié)期間,身在阿姆斯特丹的Guido為了打發(fā)時間,決心開發(fā)一個新的腳本解釋程序作為ABC語言的一種繼承。由于非常喜歡一部名為《MontyPython’sFlyingCircus》的英國肥皂劇,Guido選擇了“Python”作為這個新語言的名字,Python就此誕生。Python發(fā)明者Guido和Python的圖標(biāo)如圖所示。7Python語言的歷史與發(fā)展Python語言的歷史與發(fā)展8年份版本1991年P(guān)ython的第一個版本公開發(fā)行,此版本使用C語言實現(xiàn),能調(diào)用C語言的庫文件2000年10月Python2.0發(fā)布2008年12月Python3.0版本發(fā)布,3.0與2.x系列不兼容2010年P(guān)ython2.x系列發(fā)布了最后一個版本,其主版本號為2.72012年P(guān)ython3.3版本發(fā)布2014年P(guān)ython3.4版本發(fā)布2015年P(guān)ython3.5版本發(fā)布2016年P(guān)ython3.6版本發(fā)布2018年6月Python3.7.0發(fā)布2019年11月Python3.8.0發(fā)布Python語言的特點Python是免費的開源自由軟件Python遵循GPL協(xié)議,是免費和開源的,不管用于何種用途,開發(fā)人員都無需支付任何費用,也不用擔(dān)心版權(quán)問題。9Python是面向?qū)ο蟮拿嫦驅(qū)ο螅∣bjectOriented,OO)是現(xiàn)代高級程序設(shè)計語言的一個重要特征。Python具有多態(tài)、運(yùn)算符重載、繼承和多重繼承等面向?qū)ο缶幊蹋∣bjectOrientedProgramming,OOP)的主要特征。Python語言的特點Python具有良好的跨平臺特性Python是用ANSIC語言實現(xiàn)。具有良好的跨平臺和可移植性。10Python功能強(qiáng)大動態(tài)數(shù)據(jù)類型:Python在代碼運(yùn)行過程中跟蹤變量的數(shù)據(jù)類型,不需要聲明變量的數(shù)據(jù)類型,也不要求在使用之前對變量進(jìn)行類型聲明。自動內(nèi)存管理:良好的內(nèi)存管理機(jī)制意味著程序運(yùn)行具有更高的性能。Python程序員無需關(guān)心內(nèi)存的使用和管理,Python會自動分配和回收內(nèi)存。大型程序支持:通過子模塊、類和異常等工具,Python可用于大型程序開發(fā)。內(nèi)置數(shù)據(jù)結(jié)構(gòu):Python提供了常用數(shù)據(jù)結(jié)構(gòu)支持。例如集合、列表、字典、字符串等都屬于Python內(nèi)置類型,用于實現(xiàn)相應(yīng)的數(shù)據(jù)結(jié)構(gòu)。內(nèi)置標(biāo)準(zhǔn)庫:Python提供豐富的標(biāo)準(zhǔn)庫,如從正則表達(dá)式匹配到網(wǎng)絡(luò)等,使Python可以實現(xiàn)多種應(yīng)用。第三方工具集成:Python通過擴(kuò)展包集成第三方工具,從而應(yīng)用到各種不同領(lǐng)域。Python語言的應(yīng)用領(lǐng)域Web開發(fā)Python是Web開發(fā)的主流語言,與JS、PHP等廣泛使用的語言相比,Python的類庫豐富、使用方便,能夠為一個需求提供多種方案。11科學(xué)計算Python提供了支持多維數(shù)組運(yùn)算與矩陣運(yùn)算的模塊numpy、支持高級科學(xué)計算的模塊scipy、支持2D繪圖功能的模塊matplotlib,又具有簡單易學(xué)的特點,因此被科學(xué)家用于編寫科學(xué)計算程序。Python語言的應(yīng)用領(lǐng)域游戲開發(fā)很多游戲開發(fā)者先利用Python或Lua編寫游戲的邏輯代碼,再使用C++編寫圖形顯示等對性能要求較高的模塊。Python標(biāo)準(zhǔn)庫提供了pygame模塊,利用這個模塊可以制作2D游戲。12自動化運(yùn)維Python又是一種腳本語言,Python標(biāo)準(zhǔn)庫又提供了一些能夠調(diào)用系統(tǒng)功能的庫,因此Python常被用于編寫腳本程序,以控制系統(tǒng),實現(xiàn)自動化運(yùn)維Python語言的應(yīng)用領(lǐng)域多媒體應(yīng)用Python提供了PIL、Piddle、ReportLab等模塊,利用這些模塊可以處理圖像、聲音、視頻、動畫等,并動態(tài)生成統(tǒng)計分析圖表;Python的PyOpenGL模塊封裝了OpenGL應(yīng)用程序編程接口,提供了二維和三維圖像的處理功能。13爬蟲開發(fā)爬蟲程序通過自動化程序有針對性地爬取網(wǎng)絡(luò)數(shù)據(jù),提起可用資源。Python擁有良好的網(wǎng)絡(luò)支持,具備相對完善的數(shù)據(jù)分析與數(shù)據(jù)處理庫,又兼具靈活簡潔的特點,因此被廣泛應(yīng)用于爬蟲領(lǐng)域之中。Python程序的運(yùn)行方式交互式Python解釋器或控制臺都能以相同的操作通過交互方式運(yùn)行Python程序,以控制臺為例,進(jìn)入Python環(huán)境后,在命令提示符“>>>”后輸入如下代碼:print("helloWorld")按下回車鍵,控制臺將立刻打印運(yùn)行結(jié)果。運(yùn)行結(jié)果如圖所示:14Python程序的運(yùn)行方式文件式創(chuàng)建文件,在其中寫入Python代碼,將該文件保存為.py形式的Python文件。此處以代碼“print(“helloworld”)”為例,在文件中寫入此行代碼,并以文件名“hello.py”保存文件。打開控制臺窗口,在命令提示符“>”后輸入命令“Pythonhello.py”運(yùn)行Python程序。15目錄6.2【任務(wù)2】投擲骰子6.1【任務(wù)1】安裝Python,并輸出helloworld6.3【任務(wù)3】提取分解數(shù)據(jù)6.4【任務(wù)4】編寫TCP通訊程序案例分析17Python在編程過程中起著至關(guān)重要的作用,尤其是在大數(shù)據(jù)和人工智能行業(yè)進(jìn)行數(shù)據(jù)分析、統(tǒng)計、采集等方面。所以學(xué)習(xí)Python基礎(chǔ)知識是必不可少的。本任務(wù)是使用Python基本語法及條件語句實現(xiàn)投擲骰子的游戲。需求描述案例分析18創(chuàng)建名為dice的Python項目。定義函數(shù)roll,用來定義投擲一次并返回點數(shù)。定義主函數(shù),編寫while循環(huán)。運(yùn)行項目,查看結(jié)果。設(shè)計思路任務(wù)二分析基礎(chǔ)的網(wǎng)絡(luò)數(shù)據(jù)19案例展示知識點講解20010203數(shù)據(jù)類型基本語法函數(shù)基本語法編碼默認(rèn)情況下,Python3源碼文件以

UTF-8

編碼,所有字符串都是unicode字符串。也可以為源碼文件指定不同的編碼。21行與縮進(jìn)python最具特色的就是使用縮進(jìn)來表示代碼塊,不需要使用大括號

{}

。縮進(jìn)的空格數(shù)是可變的,但是同一個代碼塊的語句必須包含相同的縮進(jìn)空格數(shù)。基本語法注釋注釋用于為程序添加說明性的文字,幫助程序員閱讀和理解代碼。Python解釋器會忽略注釋的內(nèi)容。注釋分單行注釋和多行注釋。

單行注釋以符號“#”開始,當(dāng)前行中符號“#”及其后的內(nèi)容為注釋??梢詥为氄家恍?,也可放在語句末尾。多行注釋是用3個英文的單引號“'''”或3個雙引號“"""”作為注釋的開始和結(jié)束符號22基本語法注釋示例代碼如下。23"""多行注釋開始下面的代碼根據(jù)變量x的值計算y注意代碼中使用縮進(jìn)表示代碼塊多行注釋結(jié)束"""x=5ifx>100:y=x*5-1 #單行注釋:x>100時執(zhí)行該語句else:y=0 #x<=100時執(zhí)行該語句print(y) #輸出y保留字和關(guān)鍵字注釋關(guān)鍵字是程序設(shè)計語言中作為命令或常量等的單詞。保留字和關(guān)鍵字不允許作為變量或其他標(biāo)識符使用。Python的保留字和關(guān)鍵字如表所示。24falseawaitelseimportpassnonebreakexceptinraisetrueclassfinallyisreturnandcontinueorlambdatryasdeffromnonlocalwhileassertdelglobalnotwithasyncelififoryield數(shù)據(jù)類型數(shù)據(jù)類型25在Python3中,數(shù)據(jù)類型有六個標(biāo)準(zhǔn)的數(shù)據(jù)類型,六個標(biāo)準(zhǔn)的數(shù)據(jù)類型中有不可變數(shù)據(jù)類型分別是Number(數(shù)字)、String(字符串)、Tuple(元組);可變數(shù)據(jù)類型分別是List(列表)、Dictionary(字典)、Set(集合),具體如表所示。數(shù)據(jù)類型包含類型描述示例Numberint整數(shù)8,1,102float浮點型1.1,2.1bool布爾型true,falsecomplex復(fù)數(shù)1+2j,1.23jString字符串,用單引號'或雙引號"括起來,同時使用反斜杠\轉(zhuǎn)義特殊字符str='Runoob'Tuple元組,元組的元素不能修改。元組寫在小括號()里,元素之間用逗號隔開tuple=('abcd',786,2.23,'runoob',70.2)List列表,是寫在方括號[]之間、用逗號分隔開的元素列表tinylist=[123,'runoob']Dictionary字典,字典用{}標(biāo)識,它是一個無序的鍵(key):值(value)的集合dict={}tinydict={'name':'runoob','code':1}Set集合,可以使用大括號{}或者set()函數(shù)創(chuàng)建集合parame={value01,value02,...}或者set(value)數(shù)據(jù)類型數(shù)據(jù)類型26在Python中,可以實現(xiàn)數(shù)值類型的相互轉(zhuǎn)換,使用的內(nèi)置函數(shù)包含int(),float,bool(),complex()。使用轉(zhuǎn)換函數(shù)的示例代碼如圖所示:函數(shù)函數(shù)27函數(shù)由若干條語句組成,用于實現(xiàn)某一特定的功能,函數(shù)包括函數(shù)名、函數(shù)體、參數(shù)以及返回值。在Python語言中,不僅包括豐富的系統(tǒng)函數(shù),還允許自定義函數(shù)。函數(shù)調(diào)用語法為:functionName(parm1)其中functionName表示函數(shù)名稱,parm1表示參數(shù)名稱,示例代碼如圖所示函數(shù)內(nèi)置函數(shù)28Python中,系統(tǒng)提供了很多內(nèi)置函數(shù),主要包含數(shù)學(xué)運(yùn)算函數(shù)、字符串處理函數(shù)以及其他函數(shù)。1)數(shù)學(xué)運(yùn)算?abs():返回數(shù)字的絕對值?pow(x,y):返回x的y次冪?round():返回浮點數(shù)x的四舍五入值?divmod():把除數(shù)和余數(shù)運(yùn)算結(jié)果結(jié)合起來,返回一個包含商和余數(shù)的元組(a//b,a%b)函數(shù)內(nèi)置函數(shù)29Python中,系統(tǒng)提供了很多內(nèi)置函數(shù),主要包含數(shù)學(xué)運(yùn)算函數(shù)、字符串處理函數(shù)以及其他函數(shù)。2)大小寫轉(zhuǎn)換?lower():轉(zhuǎn)換為小寫?upper():轉(zhuǎn)換為大寫3)判斷字符串中字符的類型?isdecimal():如果字符串中只包含十進(jìn)制數(shù)字則返回True,否則返回False?isdigit():如果字符串中只包含數(shù)字則返回True,否則返回False?isnumeric():如果字符串中只包含數(shù)字則返回True,否則返回False

函數(shù)自定義函數(shù)30在Python中,自定義函數(shù)使用def關(guān)鍵字定義,其后緊跟函數(shù)名,括號內(nèi)包含將要在函數(shù)體中使用的形式參數(shù),簡稱形參,定義語句以冒號(:)結(jié)束。語法格式如下所示。def函數(shù)名(函數(shù)列表)函數(shù)體說明:參數(shù)列表可以為空,也可以包含多個參數(shù),多個參數(shù)之間使用逗號隔開。函數(shù)體可以包含一條或多條語句。示例:創(chuàng)建一個函數(shù)PrintHello(),該函數(shù)功能是打印“hellopython”,代碼如圖所示:目錄6.2【任務(wù)2】投擲骰子6.1【任務(wù)1】安裝Python,并輸出helloworld6.3【任務(wù)3】提取分解數(shù)據(jù)6.4【任務(wù)4】編寫TCP通訊程序案例分析32本任務(wù)是通過學(xué)習(xí)XML數(shù)據(jù)操作和JSON數(shù)據(jù)操作,實現(xiàn)使用xml.dom解析XML文件,并使用JSON方法讀取JSON文件。需求描述案例分析33準(zhǔn)備XML文件。使用xml.dom解析XML文件。使用JSON方法讀取JSON文件。設(shè)計思路任務(wù)三提取分解數(shù)據(jù)34案例展示知識點講解350102JSON數(shù)據(jù)操作XML數(shù)據(jù)操作XML數(shù)據(jù)操作XML概念XML指的是可擴(kuò)展標(biāo)記語言(eXtensibleMarkupLanguage),使用XML可以存儲和傳輸數(shù)據(jù),還可以用作配置文件。類似于HTML超文本標(biāo)記語言,但是HTML所有的標(biāo)簽都是預(yù)定義的,而xml的標(biāo)簽可以隨便定義。XML元素是指開始標(biāo)簽到結(jié)束標(biāo)簽部分,一個元素可以包含其他的元素、屬性、和文本。示例代碼如下://包含其他元素<aa> <bb></bb></aa>//包含相關(guān)屬性<aid=’132’></a>//包含文本內(nèi)容<a>abc</a>36XML數(shù)據(jù)操作XML概念在使用XML中,需要遵循XML的語法規(guī)則,XML的語法規(guī)則如下:所有的元素都必須有開始標(biāo)簽和結(jié)束標(biāo)簽,省略結(jié)束標(biāo)簽是非法的大小寫敏感,以下是兩個不同的標(biāo)簽XML文檔必須有根元素XML必須正確嵌套,父元素必須完全包住子元素XML屬性值必須加引號,元素的屬性值都是一個鍵值對形式37XML數(shù)據(jù)操作使用DOM解析數(shù)據(jù)使用DOM解析數(shù)據(jù)常用方法如表所示。38方法描述minidom.parse(filename)加載讀取XML文件doc.documentElement獲取XML文檔對象node.getAttribute(AttributeName)獲取XML節(jié)點屬性值node.getElementsByTagName(TagName)獲取XML節(jié)點對象集合node.childNodes返回子節(jié)點列表node.childNodes[index].nodeValue獲取XML節(jié)點值node.firstChild訪問第一個節(jié)點,等價于pagexml.childNodes[0]root.nodeName/root.tagName節(jié)點的名稱root.nodeValue節(jié)點的值,文本節(jié)點才有值,其它節(jié)點返回的是Noneroot.nodeType節(jié)點的類型JSON數(shù)據(jù)操作什么是JSONJSON(JavaScriptObjectNotation)是一種輕量級的數(shù)據(jù)交換格式,主要用于前端數(shù)據(jù)和后端數(shù)據(jù)進(jìn)行交互,也就是JS和Python進(jìn)行數(shù)據(jù)交互。使用JSON進(jìn)行數(shù)據(jù)交互流程如圖所示。39說明:名稱必須用雙引號來包括;值可以是雙引號包括的字符串、數(shù)字、true、false、null、JavaScript數(shù)組,或子對象。JSON數(shù)據(jù)操作JSON中常用的方法在使用JSON這個模塊前,首先要導(dǎo)入JSON庫:importjson。常用方法如表所示。40方法描述json.dumps()將Python對象編碼成JSON字符串json.loads()將已編碼的JSON字符串解碼為Python對象json.dump()將Python內(nèi)置類型序列化為json對象后寫入文件json.load()讀取文件中json形式的字符串元素轉(zhuǎn)化為Python類型目錄6.2【任務(wù)2】投擲骰子6.1【任務(wù)1】安裝Python,并輸出helloworld6.3【任務(wù)3】提取分解數(shù)據(jù)6.4【任務(wù)4】編寫TCP通訊程序案例分析42本任務(wù)是學(xué)習(xí)網(wǎng)絡(luò)通訊相關(guān)模塊及Python內(nèi)置模塊。通過對網(wǎng)絡(luò)通訊Socket模塊的學(xué)習(xí),編寫TCP通訊程序,實現(xiàn)簡易客服機(jī)器人。需求描述案例分析43搭建網(wǎng)絡(luò)服務(wù)器。搭建網(wǎng)絡(luò)客戶端。設(shè)計思路知識點講解4401socket模塊socket模塊TCP簡介45Python提供了兩個級別訪問的網(wǎng)絡(luò)服務(wù),其中低級別的網(wǎng)絡(luò)服務(wù)支持基本的socket,可以訪問底層

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論