智能網聯(lián)汽車計算平臺部署與測試 課件 5.2 Python的認知_第1頁
智能網聯(lián)汽車計算平臺部署與測試 課件 5.2 Python的認知_第2頁
智能網聯(lián)汽車計算平臺部署與測試 課件 5.2 Python的認知_第3頁
智能網聯(lián)汽車計算平臺部署與測試 課件 5.2 Python的認知_第4頁
智能網聯(lián)汽車計算平臺部署與測試 課件 5.2 Python的認知_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

智能網聯(lián)汽車

計算平臺部署與測試項目五ROS的安裝與使用目錄01.C++的認知02.Python的認知03.ROS的認知04.ROS的安裝05.ROS文件系統(tǒng)的構建06.ROS通信系統(tǒng)的構建02.Python的認知易于學習且功能強大的編程語言從鍵盤輸入三個數(shù)字,用Python程序將最大值找出,并輸出結果。任務描述(1)掌握Python程序的結構、函數(shù)的結構和程序開發(fā)過程(2)掌握算法的特性和程序的三種基本結構,能夠使用流程圖或N-S圖來描述算法(3)熟練使用順序結構、選擇結構和循環(huán)結構編寫程序,解決實際問題(4)能夠熟練的使用函數(shù)編寫程序,掌握函數(shù)的定義、聲明、調用及參數(shù)的傳遞方式(5)掌握面向對象的程序設計、類屬性與實例屬性、類方法與實例方法、構造函數(shù)與析(6)能夠用Python表達式表達實際問題,具有解決簡單應用問題程序設計能力(7)具有解決綜合應用問題程序設計能力、程序閱讀能力和程序調試能力,建立結構化程序設計與面向對象程序設計的思想(8)養(yǎng)成善于思考、深入研究的良好自主學習的習慣和創(chuàng)新精神(9)培養(yǎng)結構化程序設計思想和良好的編碼規(guī)范(10)培養(yǎng)細致縝密的工作態(tài)度、團結協(xié)作的良好品質、溝通交流和書面表達能力(11)養(yǎng)成愛崗敬業(yè)、遵守職業(yè)道德規(guī)范、誠實、守信的高尚品質。任務目標任務準備防護裝備常規(guī)實訓著裝01教學設備計算機平臺02教學工具IDLE、Anaconda303一、概述(一)什么是PythonPython是一種直譯式,面向對象,解釋式的腳本語言,是極少數(shù)能兼具簡單和功能強大的編程語言。Python是一款易于學習且功能強大的編程語言。它具有高效率的數(shù)據(jù)結構,能夠簡單且有效地實現(xiàn)面向對象的編程。Python以其簡潔的語言和動態(tài)輸入的特性,加上解釋性語言的本質,使其成為一種在多領域與絕大多數(shù)平臺都能進行腳本編寫和快速應用開發(fā)的理想語言。Python語言在系統(tǒng)運維、圖形處理、數(shù)學處理、文本處理、數(shù)據(jù)庫編程、網絡編程、web編程、多媒體應用、pymo引擎、黑客編程、爬蟲編寫、機器學習、人工智能等領域得到廣泛的應用。一、概述(二)Python發(fā)展簡史版本發(fā)布年份主要新特性Python1.01994第一個正式版本,僅支持最基本的編程功能Python2.02000引入了廣泛的改進,包括內存管理的改進和新的類型Python2.52006增加了@裝飾器語法、全面的with語句支持Python2.62008引入了xrange,在大數(shù)據(jù)集上性能有明顯改進Python2.72010支持with語句的重要補充,以及其他小改進和bug修復Python3.02008不完全向后兼容Python2的新版本,主要改進了類型安全和錯誤處理Python3.12008增加了super()函數(shù)和os.urandom()Python3.22011增加了collections模塊中的Counter和OrderedDict類型Python3.32012引入了@裝飾器的函數(shù)形式,以及hash()的一致性Python3.42014引入了venv模塊,用于虛擬環(huán)境Python3.52015增加了@裝飾器的復合表達式,以及PEP465和PEP466Python3.62016增加了typing模塊,以及PEP523(**kwargs在函數(shù)注解中的應用)Python3.72018增加了數(shù)據(jù)類,并發(fā)性改進,以及PEP572(運行時變量注解)Python3.82019增加了assignmentexpression(:=)(三)Python語言的主要特點一、概述01.簡單02.易學03.免費、開源04.高層語言05.可移植性06.解釋性07.面向對象08.可擴展性09.豐富的庫10.規(guī)范的代碼(四)Python的開發(fā)環(huán)境由JetBrains打造的一款PythonIDE。PyCharm還提供了一些很好的功能用于Django開發(fā),同時支持GoogleAppEngine。PyCharm是一個跨平臺的編輯器。具有漂亮的用戶界面和強大的功能。使用SublimeTExt的插件擴展功能,可以輕松地打造一款不錯的PythonIDE。SublimeTExt可以為多種語言提供集成開發(fā)環(huán)境。PyDev項目實現(xiàn)了一個功能強大的Eclipse插件,能夠將Eclipse當作PythonIDE。EclipsewithPydev一、概述由微軟開發(fā)且跨平臺的免費源代碼編輯器。該軟件支持語法高亮、代碼自動補全、代碼重構、查看定義功能,并且內置了命令行工具和Git版本控制系統(tǒng)。使用MonacoEditor作為其底層的代碼編輯器。VSCode二、Python基本概念和語法(一)Python程序的運行交互式編程交互式編程不需要創(chuàng)建腳本文件,是通過Python解釋器的交互模式進來編寫代碼。在Ubuntu終端上輸入Python命令即可啟動交互式編程。提示窗口如圖所示:在python提示符“>>>”后面輸入語句print(“Hello,Python!”),然后按下Enter鍵,就可以在屏幕上看到該語句的運行結果,如圖所示。二、Python基本概念和語法(一)Python程序的運行腳本編程通過腳本參數(shù)調用解釋器開始執(zhí)行腳本,直到腳本執(zhí)行完畢。當腳本執(zhí)行完成后,解釋器不再有效。以一個最簡單的Python腳本程序為例。將如圖所示的源代碼拷貝至test.py文件中,注意所有的Python文件都是以.py為擴展名的。然后在Ubuntu終端上執(zhí)行如下命令:pythontest.py,在屏幕上同樣能看到該程序的運行結果,如圖所示。二、Python基本概念和語法(二)Python的基礎語法標識符Python的標識符由字母、數(shù)字、下劃線組成。標識符可以包括英文、數(shù)字以及下劃線(_)的任何組合,但不能以數(shù)字開頭。Python的標識符是區(qū)分大小寫的。以下劃線開頭的標識符具有特殊意義。以單下劃線開頭_foo的標識符代表不能直接訪問的類屬性,需通過類提供的接口進行訪問,并且不能用fromxxximport*來導入。以雙下劃線開頭的__foo代表類的私有成員。以雙下劃線開頭和結尾的__foo__是Python中特殊方法的專用標識,如__init__()代表類的構造函數(shù)。二、Python基本概念和語法(二)Python的基礎語法縮進縮進的空白字符數(shù)是可變的,但是所有代碼塊語句必須包含相同的縮進空白字符數(shù)(空格或Tab),這個必須嚴格執(zhí)行,否則會發(fā)生如下錯誤:IndentationError:unindentdoesnotmatchanyouterind

entationlevelIndentationError:unexpectedindentPython對格式要求非常嚴格。在Python的代碼塊中必須使用相同數(shù)目的行首縮進空白字符。建議在每個縮進層次使用單個制表符或兩個空格或四個空格,切記不能混用。注釋Python注釋分為單行注釋和多行注釋。單行注釋采用#開頭。注釋可以在語句或表達式行末。多行注釋使用三個單引號'''或三個雙引號"""。二、Python基本概念和語法(三)變量變量是存儲在內存中的值,基于變量的數(shù)據(jù)類型,解釋器會為它分配指定的內存,并決定什么數(shù)據(jù)可以被存儲在該內存區(qū)域中。因此,變量可以分為不同的數(shù)據(jù)類型,可以是整數(shù),小數(shù)或字符等。與C++等語言不同,Python的變量在賦值時創(chuàng)建,不需要事先進行類型聲明。每個變量在內存中創(chuàng)建,都包括變量的標識,名稱和數(shù)據(jù)這些信息。等號”=“用來給變量賦值,等號的左邊是一個變量名,等號的右邊則是存儲在該變量中的值,例如:二、Python基本概念和語法(三)變量Numbers(數(shù)字)是表示數(shù)值的數(shù)據(jù)類型。支持四種不同的數(shù)字類型。01String(字符串)由數(shù)字、字母、下劃線組成的一串字符。是表示文本的數(shù)據(jù)類型。02List(列表)是使用最頻繁的數(shù)據(jù)類型??梢酝瓿纱蠖鄶?shù)集合類的數(shù)據(jù)結構實現(xiàn)。03Tuple(元組)類似于List,用()標識。內部元素之間用逗號隔開。不能二次賦值,相當于只讀列表。04Dictionary(字典)是Python語言除List以外最靈活的內置數(shù)據(jù)結構類型。05二、Python基本概念和語法(四)運算符運算符是一種告訴解釋器執(zhí)行特定的數(shù)學或邏輯操作的符號。Python內置了豐富的運算符,并提供了以下類型的運算符:1)算術運算符:+(加)、—(減)、*(乘)、/(除)、%(模)、**(冪)、//(取整除)2)比較運算符:=(等于)、!=(不等于)、>(大于)、<(小于)、>=(大等于)、<=(小等于)3)賦值運算符:=(簡單賦值)、+=(加且賦值)、-=(減且賦值)、*=(乘且賦值)、/=(除且賦值)、%/(模且賦值)、**=(冪且賦值)、//=(取整除且賦值)4)位運算符:&(按位與)、|(按位或)、^(按位異或)、~(按位取反)、<<(二進制左移)、>>(二進制右移)5)邏輯運算符:and(邏輯與)、or(邏輯或)、not(邏輯非)6)成員運算符:in(如果在指定的序列中找到值返回True,否則返回False)、notin(如果在指定的序列中沒有找到值返回True,否則返回False)7)身份運算符:is(判斷兩個標識符是不是引用自同一個對象)、isnot(是判斷兩個標識符是不是引用自不同對象)二、Python基本概念和語法(五)控制語句條件語句if語句循環(huán)語句for循環(huán)while循環(huán)循環(huán)控制語句二、Python基本概念和語法(五)控制語句條件語句if語句if語句用于條件語句的判斷和執(zhí)行:if判斷條件:執(zhí)行語句……else:執(zhí)行語句……當需要判斷多種情況時,可以使用以下形式:if判斷條件1:執(zhí)行語句1……elif判斷條件2:執(zhí)行語句2……elif判斷條件3:執(zhí)行語句3……else:174執(zhí)行語句4……其中“判斷條件”成立時,則執(zhí)行后面的語句,而執(zhí)行內容可以多行,以縮進來區(qū)分表示同一范圍。當“判斷條件”不成立時,執(zhí)行else后面的執(zhí)行語句。由于python并不支持switch語句,所以多個條件判斷,只能用elif來實現(xiàn)。如果需要多個條件同時判斷時,可以使用邏輯運算符進行條件組合判斷。二、Python基本概念和語法(五)控制語句for循環(huán)可以遍歷任何序列的項目,如一個列表或者一個字符串:foriterating_varinsequence:statements(s)以下是示例代碼片段:forletterin'Python':print("當前字母:%s"%letter)該代碼片段將逐行輸出字符串Python的每一個字符。while語句用于循環(huán)執(zhí)行程序,即在滿足某種條件時,循環(huán)執(zhí)行某段代碼:while判斷條件(condition):執(zhí)行語句(statements)……執(zhí)行語句可以是單個語句或語句塊,當判斷條件為False時,循環(huán)結束。count=0while(count<9):print'Thecountis:',countcount=count+1該代碼片段將逐行輸出0到8這幾個數(shù)。循環(huán)控制語句可以更改循環(huán)體語句執(zhí)行的順序:break:在語句塊執(zhí)行過程中終止循環(huán),并且跳出整個循環(huán)。continue:在語句塊執(zhí)行過程中終止當前循環(huán),跳出該次循環(huán),執(zhí)行下一次循環(huán)。pass:空語句,目的是為了保持程序結構的完整性。循環(huán)語句for循環(huán)while循環(huán)循環(huán)控制語句二、Python基本概念和語法(六)輸入輸出01標準輸出函數(shù)print是最簡單的標準輸出函數(shù),可以接受零個或多個用逗號隔開的表達式作為參數(shù)。該函數(shù)把參數(shù)轉換成一個字符串表達式,并將結果寫到標準輸出如:Print“你好,Python”

屏幕上將會顯示“你好,Python”。02鍵盤輸入函數(shù)Python提供了兩個內置函數(shù)從標準輸入讀入一行文本,默認的標準輸入是鍵盤。(1)raw_input(2)input03文件讀寫(1)打開文件:在訪問文件前,必須使用open()函數(shù)打開該文件,創(chuàng)建一個file對象,然后才能進行后續(xù)的文件訪問操作。(2)關閉文件:完成所有的文件訪問操作后,調用close()函數(shù)關閉該文件是個很好的習慣。close()方法刷新緩沖區(qū)里任何還沒寫入的信息,并關閉該文件,這之后便不能再進行寫入。(3)讀文件:read()方法從一個打開的文件中讀取一個字符串。需要注意的是,Python字符串可以是二進制數(shù)據(jù),而不是僅僅是文字。(4)寫文件:write()方法可將任何字符串寫入一個打開的文件。需要注意的是,Python字符串可以是二進制數(shù)據(jù),而不是僅僅是文字。(5)文件定位:tell()方法返回文件當前的讀寫位置,seek(offset[,from])方法改變當前文件的讀寫位置異常是Python對象,表示一個錯誤事件,該事件會在程序執(zhí)行過程中發(fā)生,影響程序的正常執(zhí)行。一般情況下,Python無法正常處理程序時就會拋出一個異常。當Python腳本發(fā)生異常時,我們需要捕獲并處理它,否則程序會終止執(zhí)行。在Python中,可以使用try/except語句來捕獲并處理異常。二、Python基本概念和語法(七)異常處理try:<語句塊>#運行正常代碼except<異常1>:<語句塊1>#如果在try部分引發(fā)了異常1except<異常2>:<語句塊2>#如果引發(fā)了異常2else:<語句塊3>#如果沒有異常發(fā)生二、Python基本概念和語法(七)異常處理以下是示例代碼片段:try: fh=open("testfile","w") fh.write("這是一個測試文件,用于測試異常")exceptIOError: print"錯誤:沒有找到文件或寫文件失敗“else: print"內容寫入文件成功" fh.close()如果文件訪問過程中出現(xiàn)錯誤,系統(tǒng)將捕獲該異常,并在屏幕上顯示"錯誤:沒有找到文件或寫文件失敗"提示信息。如果文件訪問成功,系統(tǒng)將會在屏幕上顯示"內容寫入文件成功"提示信息。二、Python基本概念和語法(七)異常處理BaseException所有異常的基類SystemExit解釋器請求退出KeyboardInterrupt用戶中斷執(zhí)行(通常是輸入^C)Exception常規(guī)錯誤的基類StopIteration迭代器沒有更多的值GeneratorExit生成器(generator)發(fā)生異常來通知退出StandardError所有的內建標準異常的基類ArithmeticError所有數(shù)值計算錯誤的基類FloatingPointError浮點計算錯誤OverflowError數(shù)值運算超出最大限制ZeroDivisionError除(或取模)零(所有數(shù)據(jù)類型)AssertionError斷言語句失敗AttributeError對象沒有這個屬性EOFError沒有內建輸入,到達EOF標記EnvironmentError操作系統(tǒng)錯誤的基類IOError輸入/輸出操作失敗OSError操作系統(tǒng)錯誤WindowsError系統(tǒng)調用失敗ImportError導入模塊/對象失敗LookupError無效數(shù)據(jù)查詢的基類二、Python基本概念和語法(七)異常處理IndexError序列中沒有此索引(index)KeyError映射中沒有這個鍵MemoryError內存溢出錯誤(對于Python解釋器不是致命的)NameError未聲明/初始化對象(沒有屬性)UnboundLoca

溫馨提示

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

評論

0/150

提交評論