《智能車Python編程設(shè)計》 課件全套 第1-12章 Python程序設(shè)計(開場篇) -Python的GUI編程_第1頁
《智能車Python編程設(shè)計》 課件全套 第1-12章 Python程序設(shè)計(開場篇) -Python的GUI編程_第2頁
《智能車Python編程設(shè)計》 課件全套 第1-12章 Python程序設(shè)計(開場篇) -Python的GUI編程_第3頁
《智能車Python編程設(shè)計》 課件全套 第1-12章 Python程序設(shè)計(開場篇) -Python的GUI編程_第4頁
《智能車Python編程設(shè)計》 課件全套 第1-12章 Python程序設(shè)計(開場篇) -Python的GUI編程_第5頁
已閱讀5頁,還剩721頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

智能車Python編程設(shè)計(開場篇)《智能車Python編程設(shè)計》主講人:

郵箱:人生苦短

快用Python政策中國Python相關(guān)政策與發(fā)展歷程(2015-2021)?時間節(jié)點????政策/戰(zhàn)略名稱????核心內(nèi)容????對Python發(fā)展的影響????2015年5月??《中國制造2025》提出實施制造強國戰(zhàn)略,重點發(fā)展新一代信息技術(shù)、高端裝備等領(lǐng)域。為工業(yè)智能化與數(shù)據(jù)分析奠定政策基礎(chǔ),Python作為實現(xiàn)工具的重要性初步提升。??2017年7月????《新一代人工智能發(fā)展規(guī)劃》(鏈接)??確立三步走戰(zhàn)略,目標到2030年使中國成為世界主要人工智能創(chuàng)新中心。??最核心的推動力??。Python作為AI/ML主流語言,需求呈爆炸式增長,催生大量研發(fā)崗位。??2017-2018年????教育部新課標改革??將??Python??納入高中信息技術(shù)必修課程,取代原有VB等語言。??奠定國民基礎(chǔ)??。從中學(xué)生開始普及Python,為未來科技人才儲備提供了巨大基數(shù)。??2020年????“新基建”(新型基礎(chǔ)設(shè)施建設(shè))??國家級戰(zhàn)略,重點投資5G、人工智能、大數(shù)據(jù)中心、工業(yè)互聯(lián)網(wǎng)等數(shù)字基礎(chǔ)設(shè)施。Python在數(shù)據(jù)分析、云計算、自動化運維等領(lǐng)域成為關(guān)鍵工具,應(yīng)用場景被極大拓寬。??2021年11月??《“十四五”軟件和信息技術(shù)服務(wù)業(yè)發(fā)展規(guī)劃》明確提出支持開源生態(tài)建設(shè),鼓勵企業(yè)開放源代碼,構(gòu)建開源社區(qū)。為Python及其龐大的開源庫生態(tài)(如PyPI)提供了明確的政策支持,鼓勵國內(nèi)參與和貢獻。政策近年來,政策方向從??宏觀戰(zhàn)略規(guī)劃??逐步轉(zhuǎn)向??具體落地應(yīng)用??和??生態(tài)治理??。一、國家級戰(zhàn)略與行動(2023-2025)?政策名稱????發(fā)布時間????核心目標????對Python生態(tài)的影響????“數(shù)據(jù)要素×”三年行動計劃??2024年初推動數(shù)據(jù)要素在重點行業(yè)(工業(yè)、醫(yī)療、金融等)的深度融合與應(yīng)用,釋放數(shù)據(jù)價值。??極大提升Python數(shù)據(jù)分析、處理和價值挖掘的需求。??Pandas,NumPy,Scikit-learn等庫成為從數(shù)據(jù)中提取價值的關(guān)鍵工具。??“人工智能+”行動??2024年??(政府工作報告首次提出)??將人工智能與傳統(tǒng)產(chǎn)業(yè)、社會生活深度結(jié)合,打造新增長引擎。??(是《新一代AI發(fā)展規(guī)劃》的深化和落地)????Python作為AI模型開發(fā)、部署(MLOps)和應(yīng)用集成的首選語言,需求從“模型研發(fā)”擴展到“全行業(yè)應(yīng)用”。????深化國產(chǎn)化與信創(chuàng)生態(tài)建設(shè)??持續(xù)進行在關(guān)鍵信息基礎(chǔ)設(shè)施領(lǐng)域,推動技術(shù)自主可控,鼓勵國產(chǎn)CPU、操作系統(tǒng)、數(shù)據(jù)庫等軟硬件的應(yīng)用。推動??Python生態(tài)與國產(chǎn)化平臺(如華為昇騰、統(tǒng)信UOS、麒麟OS)的適配??。對PyTorch,TensorFlow等框架的國產(chǎn)替代方案需求增加。國務(wù)院關(guān)于深入實施“人工智能+”行動的意見【鏈接】2025年8月為深入實施“人工智能+”行動,推動人工智能與經(jīng)濟社會各行業(yè)各領(lǐng)域廣泛深度融合。全方位政策二、地方與行業(yè)政策重點(2024-2025)?1.重點城市“搶人大戰(zhàn)”升級????北京、上海、深圳、杭州??等一線城市繼續(xù)將“人工智能算法工程師”、“大數(shù)據(jù)開發(fā)工程師”等列為??緊缺急需人才??,提供落戶、住房、子女教育等優(yōu)惠政策的細則不斷優(yōu)化。??影響:??直接提升了Python高級工程師的薪資待遇和職業(yè)前景。2.??行業(yè)落地成為考核指標??地方政府鼓勵A(yù)I、大數(shù)據(jù)企業(yè)不再局限于技術(shù)本身,而是更多考核??在制造業(yè)、醫(yī)療、農(nóng)業(yè)等傳統(tǒng)行業(yè)的實際落地案例和經(jīng)濟效益??。【成都最新文件】??影響:??Python開發(fā)者需要更深入的??行業(yè)知識(DomainKnowledge)??,才能開發(fā)出真正解決實際問題的應(yīng)用。3.教育政策的深化??高等教育:??更多高校在??非計算機專業(yè)??(如金融、生物、設(shè)計、社會科學(xué))開設(shè)Python編程與數(shù)據(jù)分析課程,體現(xiàn)其“工具屬性”的普及。??職業(yè)教育:??國家鼓勵產(chǎn)教融合,Python成為??職業(yè)教育(高職院校)??在Web開發(fā)、自動化運維、數(shù)據(jù)分析等方向的核心教學(xué)語言,旨在培養(yǎng)更多技能型應(yīng)用人才。Python排行TIOBE編程社區(qū)索引是衡量編程語言受歡迎程度的指標

該索引每月更新一次。引用來自/tiobe-index/【鏈接】Python可以做什么?(思考)Python職場前景就業(yè)形勢險峻,畢業(yè)生們怎么辦?其實你沒事多去招聘網(wǎng)站上看看,你會發(fā)現(xiàn)不少基礎(chǔ)崗位的招聘都寫上了對python的技能要求,這也就意味著,會寫程序的人會更吃香。Python相關(guān)崗位崗位名稱崗位職責(zé)薪資待遇Python開發(fā)工程師/后端開發(fā)工程師負責(zé)后端服務(wù)的開發(fā)、維護和優(yōu)化,包括API接口設(shè)計、數(shù)據(jù)庫設(shè)計與管理、系統(tǒng)架構(gòu)設(shè)計等。在北京等一線城市,平均薪資可能超過21k,二線城市薪資則在11k+。具體薪資水平還需考慮個人經(jīng)驗、技能及項目經(jīng)驗等因素。Python數(shù)據(jù)分析師/數(shù)據(jù)挖掘工程師利用Python進行數(shù)據(jù)處理、分析、建模及可視化,為企業(yè)決策提供數(shù)據(jù)支持。在北京的平均薪資超過29K,且崗位需求量大。隨著大數(shù)據(jù)和人工智能的快速發(fā)展,這一領(lǐng)域的薪資有望繼續(xù)增長。人工智能工程師/機器學(xué)習(xí)工程師負責(zé)人工智能產(chǎn)品的設(shè)計、開發(fā)、優(yōu)化及部署,包括算法研究、模型訓(xùn)練、性能評估等。在北京,機器學(xué)習(xí)工程師的薪資可能超過31K,且年薪可達30w+。Python爬蟲工程師利用Python編寫爬蟲程序,從互聯(lián)網(wǎng)上抓取數(shù)據(jù)并進行處理和分析。平均薪資可能在15-25K之間。Python運維工程師負責(zé)服務(wù)器的配置、維護、監(jiān)控及優(yōu)化,確保系統(tǒng)的穩(wěn)定運行。薪資水平因工作內(nèi)容和技能要求的不同而有所差異,但一般也在15-25K之間。Python自動化測試工程師利用Python編寫自動化測試腳本,提高測試效率和準確性。薪資水平相對較為穩(wěn)定,一般在10-20K之間。Python游戲開發(fā)工程師負責(zé)游戲服務(wù)器的開發(fā)、性能優(yōu)化及游戲邏輯的實現(xiàn)。平均薪資可能在15-25K之間。其他方向隨著全球經(jīng)濟形勢的變化與技術(shù)革新的加速,未來就業(yè)市場前景撲朔迷離,洞悉并適應(yīng)新技術(shù)趨勢顯得尤為關(guān)鍵。

而在世界經(jīng)濟論壇(WorldEconomicForum,WEF)發(fā)布的“未來就業(yè)報告”中也指出,在2023-2027年間:

“全球企業(yè)預(yù)計創(chuàng)造約6900萬個新的崗位,同時,受自動化與產(chǎn)業(yè)結(jié)構(gòu)影響,8300萬個崗位將被淘汰,崗位數(shù)量下降1400萬個!”

另外,WEF也給出了“未來五年增長最快的十大崗位”,「人工智能與機器學(xué)習(xí)專業(yè)人員」榮登第一。Python學(xué)習(xí)路線重要課程大綱Python語言概述Python簡介Python開發(fā)工具Python開發(fā)環(huán)境搭建Python語言基礎(chǔ)Python數(shù)據(jù)類型常量與變量運算符與表達式Python字符串操作字符串的定義字符串的操作Python序列結(jié)構(gòu)列表及其操作元組及其操作字典及其操作集合及其操作Python程序控制結(jié)構(gòu)程序的基本結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)Python函數(shù)與模塊函數(shù)的定義與調(diào)用模塊的定義與使用課程大綱Python文件及目錄操作文件的基本操作目錄的基本操作Python面向?qū)ο蟪绦蛟O(shè)計類和對象

繼承運算符的重載模塊與類Python異常處理結(jié)構(gòu)異常定義常見的異常處理結(jié)構(gòu)讀寫文件訪問數(shù)據(jù)庫Pandas科學(xué)計算SciPy科學(xué)計算數(shù)據(jù)可視化之Matplotlib數(shù)據(jù)可視化之Seaborn數(shù)據(jù)可視化之pyecharts.pptx課程安排學(xué)分:4學(xué)分學(xué)時:64學(xué)時,理論48學(xué)時,實踐24學(xué)時考核標準:50%期末+50%平時課堂須知:1.禁止在上課打電話、看與課堂無關(guān)視頻、打游戲、大聲說話2.曠課3次直接取消考試資格。3.實行每節(jié)課考勤制,遲到扣平時成績。成績構(gòu)成構(gòu)成項目成績比例平時成績出勤考核10%

課堂表現(xiàn)10%

課后作業(yè)10%

實驗20%期末成績期末考試50%總評成績100%推薦學(xué)習(xí)資料1.Python官方文檔2.Python編程從入門到實踐3、PythonCookbook(第3版)中文版4.Python數(shù)據(jù)分析網(wǎng)站論壇學(xué)習(xí)資源網(wǎng)站論壇學(xué)習(xí)資源比賽感興趣的同學(xué)homework1.Python在國內(nèi)的應(yīng)用場景案例2.了解Python和C的區(qū)別3.預(yù)習(xí)Python的基本內(nèi)容、發(fā)展Python與智能車編程入門簡介《智能車Python編程設(shè)計》本章內(nèi)容Python語言簡介程序設(shè)計語言概述編譯和解釋Python的發(fā)展Python的特點Python的應(yīng)用Python的開發(fā)環(huán)境官方開發(fā)環(huán)境IDLE第三方集成開發(fā)環(huán)境PyCharmPython程序的編寫與運行如何編寫Python程序在IDLE中運行Python程序在PyCharm中運行Python程序Python編程規(guī)范與技巧Python代碼設(shè)計規(guī)范Python幫助文檔Python程序設(shè)計方法Python語言簡介程序設(shè)計語言概述程序設(shè)計語言包括編譯執(zhí)行和解釋執(zhí)行兩種方式程序設(shè)計語言是計算機能夠理解和識別用戶操作意圖的一種交互體系,它按照特定規(guī)則組織計算機指令,使計算機能夠自動進行各種運算處理。按照程序設(shè)計語言規(guī)則組織起來的一組計算機指令稱為計算機程序。程序設(shè)計語言概述機器語言機器語言是一種二進制語言,它直接使用二進制代碼表達指令,是計算機硬件可以直接識別和執(zhí)行的程序設(shè)計語言。例如:執(zhí)行數(shù)字2和3的加法,16位計算機上的機器指令為:1101001000111011,不同計算機結(jié)構(gòu)的機器指令不同。程序設(shè)計語言概述匯編語言匯編語言是使用助記符與機器語言中的指令進行一一對應(yīng),在計算機發(fā)展早期幫助程序員提高編程效率。例如:執(zhí)行數(shù)字2和3的加法,匯編語言指令為:add2,3,result,運算結(jié)果寫入result。機器語言和匯編語言都直接操作計算機硬件并基于此設(shè)計,所以它們統(tǒng)稱為低級語言。程序設(shè)計語言概述高級語言高級語言區(qū)別于低級語言在于,高級語言是接近自然語言的一種計算機程序設(shè)計語言,更容易地描述計算問題并利用計算機解決計算問題。例如:執(zhí)行數(shù)字2和3加法的高級語言代碼為:result=2+3編譯和解釋高級語言按照計算機執(zhí)行方式的不同可分成兩類靜態(tài)語言腳本語言這里所說的執(zhí)行方式指計算機執(zhí)行一個程序的過程,靜態(tài)語言采用編譯執(zhí)行,腳本語言采用解釋執(zhí)行。編譯和解釋編譯是將源代碼轉(zhuǎn)換成目標代碼的過程,通常,源代碼是高級語言代碼,目標代碼是機器語言代碼,執(zhí)行編譯的計算機程序稱為編譯器。編譯和解釋解釋是將源代碼逐條轉(zhuǎn)換成目標代碼的同時逐條運行目標代碼的過程(邊轉(zhuǎn)換邊執(zhí)行)。執(zhí)行解釋的計算機程序稱為解釋器。編譯和解釋編譯是一次性地翻譯,一旦程序被編譯,不再需要編譯程序或者源代碼。對于相同源代碼,編譯所產(chǎn)生的目標代碼執(zhí)行速度更快。目標代碼不需要編譯器就可以運行,在同類型操作系統(tǒng)上使用靈活。解釋則在每次程序運行時都需要解釋器和源代碼。解釋執(zhí)行需要保留源代碼,程序糾錯和維護十分方便。只要存在解釋器,源代碼可以在任何操作系統(tǒng)上運行,可移植性好。Python的發(fā)展Python誕生1989年的圣誕節(jié)期間,吉多.范羅蘇姆為了在阿姆斯特丹打發(fā)時間,決心開發(fā)一個新的解釋程序,作為ABC語言的一種繼承。Guido選擇了一部自己喜歡的電視喜劇MontyPython‘sFlyingCircus(《蒙提·派森的飛行馬戲團》)中“Python”一詞作為該編程語言的名字Python版本發(fā)展1991年發(fā)布第一個Python的公開版本0.9.0。1994年發(fā)布的Python1.0版本。2000年發(fā)布的Python2.0版本。2008年發(fā)布的Python3.0版本。Python的發(fā)展已過時Python的特點Python是一門跨平臺、開源、免費的解釋型高級動態(tài)編程語言。(1)簡單。Python語言是接近于自然語言的高級程序設(shè)計語言。(2)易學(xué)。相較于其他編程語言,Python語言的語法特點更容易理解。(3)運行速度快。Python語言的底層是采用C語言編寫的,運行速度快。(4)開源。二次開發(fā)不涉及版權(quán)和收費問題。(5)具有良好的跨平臺性和可移植性。支持括Linux、Windows、iOS、Android(6)Python是解釋型語言。先把源代碼轉(zhuǎn)換成字節(jié)碼,再把字節(jié)碼翻譯成計算機使用的機器語言。Python支持命令式編程(Howtodo)、函數(shù)式編程(Whattodo),完全支持面向?qū)ο蟪绦蛟O(shè)計,擁有大量擴展庫。膠水語言:可以把多種不同語言(C/C++)編寫的程序融合到一起實現(xiàn)無縫拼接,更好地發(fā)揮不同語言和工具的優(yōu)勢,滿足不同應(yīng)用領(lǐng)域的需求。Python簡單且兼容性好。Python的應(yīng)用Python在智能車中的應(yīng)用數(shù)據(jù)處理與分析汽車車輛運行數(shù)據(jù)、電池性能數(shù)據(jù)等。通過Python,進行數(shù)據(jù)的采集、清洗、分析和可視化。自動化測試Python編寫測試腳本,執(zhí)行自動化測試流程,采集測試數(shù)據(jù),并生成測試報告。自動駕駛與仿真Python在自動駕駛領(lǐng)域有著廣泛的應(yīng)用,如計算機視覺、深度學(xué)習(xí)、仿真建模等。市場營銷與數(shù)據(jù)分析通過網(wǎng)絡(luò)爬蟲技術(shù),可以獲取市場數(shù)據(jù),進行數(shù)據(jù)分析和展示,幫助企業(yè)制定營銷策略Python的開發(fā)環(huán)境Python開發(fā)工具使用自帶的IDLEIDLEPythonShell編寫代碼并運行第三方開發(fā)工具PyCharmVisualStudio2017Eclipse+PyDev簽到碼1234

Python的開發(fā)環(huán)境安裝

Python官方IDLE的下載與安裝1、下載Python的安裝包/2、安裝Python3、測試Python是否安裝成功回到桌面,按快捷鍵“win+r”,調(diào)出對話框,輸入“cmd”,按回車輸入python按回車,顯示出python版本信息PyCharm第三方開發(fā)環(huán)境的下載與安裝1、下載PyCharm的安裝包/pycharm/download/#section=windows2、安裝PyCharm3、打開PyCharm點擊CreateNewProject,interpreter是選擇你安裝的python,Location可以自定義項目存放目錄,選擇好后,點擊create。詳細教程http://4/558yPython程序的編寫與運行編寫Python程序的方法交互式編程源代碼文本編程源代碼編程是使用純文本形式編寫Python程序的一種常規(guī)方法。(1)創(chuàng)建Python源代碼文件。(2)指定文件擴展名。(test.py)(3)運行Python文件。運行Python程序在IDLE中運行Python程序在PyCharm中建立與運行Python程序Python?的編程規(guī)范與技巧(鏈接)注釋單行注釋以符號#開始,表示本行#之后的內(nèi)容為注釋。例#注釋內(nèi)容多行注釋包含在一對三引號'''...'''或"""..."""之間且不屬于任何語句的內(nèi)容將被解釋器認為是注釋。代碼縮進在Python編程語言的語法規(guī)則中,無論是對類的構(gòu)造、函數(shù)的定義、流程控制結(jié)構(gòu)的組織,還是異常處理機制的實現(xiàn),均通過嚴謹?shù)拇a縮進來界定各個邏輯單元的起始與終止位置。類定義、函數(shù)定義、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、with塊,行尾的冒號表示縮進的開始。python程序是依靠代碼塊的縮進來體現(xiàn)代碼之間的邏輯關(guān)系的,縮進結(jié)束就表示一個代碼塊結(jié)束了。同一個級別的代碼塊的縮進量必須相同。一般而言,以4個空格為基本縮進單位。編碼規(guī)范在Python編程領(lǐng)域內(nèi),遵循的編碼風(fēng)格規(guī)范是PEP8,全稱為PythonEnhancementProposal8。涵蓋了諸如縮進、命名約定、行長度限制、空白區(qū)域使用、導(dǎo)入模塊的排列順序等多個方面。import導(dǎo)入模塊每個import語句只導(dǎo)入一個模塊,最好按標準庫、擴展庫、自定義庫的順序依次導(dǎo)入。例如:importcsvimportrandomimportdatetimeimportpandasaspdimportmatplotlib.pyplot

as

plt使用續(xù)行符盡量不要寫過長的語句【盡量不超過80字符】。如果語句過長,可以考慮拆分成多個短一些的語句,以保證代碼具有較好的可讀性。如果語句確實太長而超過屏幕寬度,最好使用續(xù)行符(linecontinuationcharacter)“\”,或者使用圓括號將多行代碼括起來表示是一條語句。增加空行空格最好在每個類、函數(shù)定義和一段完整的功能代碼之后增加一個空行,在運算符兩側(cè)各增加一個空格,逗號后面增加一個空格。Python基礎(chǔ)知識《智能車Python編程設(shè)計》課程大綱輸入輸出print輸出函數(shù)input輸入函數(shù)標識符與關(guān)鍵字標識符關(guān)鍵字常量與變量常量變量Python數(shù)據(jù)類型基本數(shù)據(jù)類型數(shù)據(jù)類型轉(zhuǎn)換運算符與表達式算術(shù)運算符關(guān)系運算符賦值運算符邏輯運算符位運算符成員運算符標識運算符運算符優(yōu)先級表達式基本數(shù)據(jù)類型基本數(shù)據(jù)類型數(shù)字類型Python中包含三種數(shù)據(jù)類型整數(shù)類型浮點數(shù)類型復(fù)數(shù)類型在Python中,變量值數(shù)字類型是不可改變的基本數(shù)據(jù)類型整數(shù)類型開頭是0X或0x,被認為是十六進制的常量。如0x22,表示的數(shù)是十進制的34開頭是0O或0o,則被認為是八進制的常量。如0O22,表示的數(shù)是十進制的18開頭是0B或0b,則被認為是二進制的常量。如0B1101,表示的數(shù)是十進制的13長整型長整型能表示的數(shù)的范圍是無限的,只與機器的內(nèi)存有關(guān)(Python很容易計算大數(shù)的階乘?。。。┛赡苁歉呔?動態(tài)分配內(nèi)存在Python3.5中,只有一種整數(shù)類型:int基本數(shù)據(jù)類型浮點數(shù)類型整數(shù)部分和小數(shù)部分組成的數(shù)字Python語言中浮點數(shù)的數(shù)值范圍存在限制,小數(shù)精度也存在限制。這種限制與在不同計算機系統(tǒng)有關(guān)Float_info結(jié)構(gòu)序列用于展示float類型基本數(shù)據(jù)類型浮點數(shù)類型示例0.0,-77.,-2.17(整數(shù)和小數(shù))96e4,4.3e-3,9.6E5(科學(xué)計數(shù)法)(注意:只要用E表示就是浮點類型)科學(xué)計數(shù)法使用字母“e”或者“E”作為冪的符號,以10為基數(shù)。科學(xué)計數(shù)法含義如下:<a>e<b>=a*10b注意:使用浮點數(shù)進行計算時,可能出現(xiàn)小數(shù)位數(shù)不確定的情況?;緮?shù)據(jù)類型復(fù)數(shù)類型與數(shù)學(xué)中的復(fù)數(shù)概念一致,z=a+bj,a是實數(shù)部分,b是虛數(shù)部分,a和b都是浮點類型,虛數(shù)部分用j或者J標識示例12.3+4j-5.6+7j基本數(shù)據(jù)類型復(fù)數(shù)類型z=1.23e-4+5.6e+89j(實部和虛部是什么?)對于復(fù)數(shù)z,可以用z.real獲得實數(shù)部分,z.imag獲得虛數(shù)部分z.real=0.000123z.imag=5.6e+89基本數(shù)據(jù)類型布爾類型布爾型(bool)即邏輯型,用于表示邏輯判斷的結(jié)果。True---1False---00---False非0---True為空的數(shù)據(jù)序列、字符串、元組、字典、None等---FalseTrue+False---1基本數(shù)據(jù)類型布爾類型空值空值是Python中一個特殊的值,用None表示。它不支持任何運算,也沒有任何內(nèi)置函數(shù)方法。None和任何其他的數(shù)據(jù)類型比較永遠返回False?;緮?shù)據(jù)類型布爾類型bool(X):將X轉(zhuǎn)換為真or假print(bool(''),bool(0),bool({}),bool(None),bool([]),bool(()),bool(0.0)) FalseFalseFalseFalseFalseFalseFalseprint(bool('!'),bool(1),bool(2),bool('3'),bool('\n'),bool(-10),bool(-12.3)) TrueTrueTrueTrueTrueTrueTrue數(shù)據(jù)類型轉(zhuǎn)換數(shù)字類型的判斷函數(shù):type(x),返回x的類型,適用于所有類型的判斷示例:數(shù)據(jù)類型轉(zhuǎn)換數(shù)字類型的轉(zhuǎn)換數(shù)值運算操作符可以隱式地轉(zhuǎn)換輸出結(jié)果的數(shù)字類型例如,兩個整數(shù)采用運算符“/”的除法將可能輸出浮點數(shù)結(jié)果。通過內(nèi)置的數(shù)字類型轉(zhuǎn)換函數(shù)可以顯式地在數(shù)字類型之間進行轉(zhuǎn)換函數(shù)描述int(x)將x轉(zhuǎn)換為整數(shù),x可以是浮點數(shù)或字符串float(x)將x轉(zhuǎn)換為浮點數(shù),x可以是整數(shù)或字符串complex(re[,im])生成一個復(fù)數(shù),實部為re,虛部為im,re可以是整數(shù)、浮點數(shù)或字符串,im可以是整數(shù)或浮點數(shù)但不能為字符串?dāng)?shù)據(jù)類型轉(zhuǎn)換數(shù)字類型的轉(zhuǎn)換三種類型可以相互轉(zhuǎn)換函數(shù):int(),float(),complex()示例:int(4.5)=4(直接去掉小數(shù)部分)float(4)=4.0(增加小數(shù)部分)complex(4)=4+0j(增加虛數(shù)部分)數(shù)據(jù)類型轉(zhuǎn)換數(shù)字類型的轉(zhuǎn)換int()#不傳入?yún)?shù)時,得到結(jié)果0int(3) 3int(3.6)

3int('12',16)

#如果是帶參數(shù)base的話,12要以字符串的形式進行輸入,12為16進制18int('0xa',16)

10int('10',base=8)8注意:int(’12.5’)int(‘12’)基本輸入/輸出input()和print()是Python的基本輸入輸出函數(shù),前者用來接收用戶的鍵盤輸入,后者用來把數(shù)據(jù)以指定的格式輸出到標準控制臺或指定的文件對象。不論用戶輸入什么內(nèi)容,input()一律返回字符串對待,必要的時候可以使用內(nèi)置函數(shù)int()、float()或eval()對用戶輸入的內(nèi)容進行類型轉(zhuǎn)換?;据斎?輸出>>>x=input('Pleaseinput:')Pleaseinput:345>>>x'345'>>>type(x)#把用戶的輸入作為字符串對待<class'str'>>>>int(x)#轉(zhuǎn)換為整數(shù)345>>>eval(x)#對字符串求值,或類型轉(zhuǎn)換345基本輸入/輸出內(nèi)置函數(shù)print()用于輸出信息到標準控制臺或指定文件,語法格式為:print(value1,value2,...,sep='',end='\n',file=sys.stdout,flush=False)value為需要輸出的內(nèi)容(可以有多個);sep參數(shù)用于指定數(shù)據(jù)之間的分隔符,默認為空格;end參數(shù)用于指定輸出完數(shù)據(jù)之后再輸出什么字符;基本輸入/輸出file=sys.stdout:設(shè)置輸出設(shè)備,及把print中的值打印到什么地方,默認輸出到準端,可以設(shè)置file=文件儲存對象,把內(nèi)容存到該文件中,如下:f=open(r'a.txt','w')print('pythonisgood',file=f)f.close()則把pythonisgood保存到a.txt文件中基本輸入/輸出flush=False:該參數(shù)主要是刷新,默認False,不刷新,Ture時刷新。正常情況下print到f中的內(nèi)容先存到內(nèi)存中,當(dāng)文件對象關(guān)閉時才把內(nèi)容輸出到a.txt中,當(dāng)flush=True時它會立即把內(nèi)容刷新存到a.txt中。f=open(r'a.txt','w')print('pythonisgood',file=f,flush=True)PythonACM模式下的輸入輸出#輸入為:1a=int(input())#單個轉(zhuǎn)換#輸入為:12345b=input().split()#b=['1','2','3','4','5']#使用map進行并行轉(zhuǎn)換e=map(int,input().split())#此時e是一個map迭代器,不能賦值,也不能索引f=list(e)#轉(zhuǎn)換為列表,e=[1,2,3,4,5]g=list(map(int,input().split()))#一步到位常量與變量

簽到碼:2158常量與變量常量常量指在程序的執(zhí)行過程中不變的量,通常大寫字面量1,2,3,4;1.1,1.2,1.0'abc',"Python"True,False符號常量frommathimport*pi#顯示3.141592653589793e#顯示2.718281828459045常量與變量保留字與標識符保留字是Python語言中已經(jīng)被賦予特定意義的一些單詞,開發(fā)程序時,不可以作為變量、函數(shù)、類、模塊和其他對象的名稱來使用。Python的標準庫提供了一個keyword模塊,可以輸出當(dāng)前版本的所有關(guān)鍵字:importkeyword

keyword.kwlist標識符(變量)第一個字符必須是字母表中字母或下劃線

_

。標識符的其他的部分由字母、數(shù)字和下劃線組成。標識符對大小寫敏感。不能使用已有的關(guān)鍵字(保留字)常見保留字andasassertbreakclasscontinuedefdelelifelseexceptfinallyforfromFalseglobalifimportinislambdanonlocalnotNoneorpassraisereturntryTruewhilewithyield

常量與變量變量指向?qū)ο蟮闹档拿Q就是變量變量是一個標識符,通過等號(=)賦值運算創(chuàng)建變量本身類型不固定----動態(tài)語言多個變量可以引用同一個對象,一個變量也可以引用不同的對象。引用不同的對象時,id也就不同的。Python采用基于值的內(nèi)存管理方式,不同的值分配不同的存儲空間常量與變量C語言中,定義一個變量,就是把值放到變量盒子里面去:如上圖所示,賦值b=a,就是新建一個盒子,然后把值賦值一份放過去,特點是:兩個值之間完全獨立。常量與變量Python的變量就是貼標簽?。悓傩陨兜亩荚谧兞孔约簝?nèi)部保存著呢!)上面的a=2之后,1就沒有歸屬了,就無法調(diào)用了,python的基于值的內(nèi)存管理器很快就會把這個對象的內(nèi)存給清理掉的。常量與變量id相同,就是相同的對象Python中的變量不需要聲明可以隨時賦不同類型的值當(dāng)python變量不需要時,會自動回收內(nèi)存空間常量與變量內(nèi)存中的變量(查看內(nèi)存地址id())(請畫出存儲示意圖)a=5b=5c=5d=aa=6常量與變量#include<stdio.h>intmain(){intx=4;

printf("%p%d\n",&x,x);x=5;printf("%p%d\n",&x,x);return0;}常量與變量Python下的變量:不需要預(yù)先聲明變量的類型,變量的類型和值在賦值的那一刻被初始化比如:x=5系統(tǒng)先是找了一塊內(nèi)存,將5存儲了進去,緊接著x指向了當(dāng)前的這塊內(nèi)存地址在python中,一開始初始化存儲在內(nèi)存的東西是不可以更改的,我們所能更改的只是它的指向,但是,在c中,對于int

x=

4;x的地址是定的,里面存儲的東西可以更改。常量與變量運算符與表達式運算符與表達式算術(shù)運算符注:/、//、%三個運算符的除數(shù)都不能為0。運算符說明+算術(shù)加法,列表、元組、字符串合并與連接,正號-算術(shù)減法,集合差集,相反數(shù)*算術(shù)乘法,序列重復(fù)/真除法,結(jié)果為浮點數(shù)//求整商,但如果操作數(shù)中有實數(shù)的話,結(jié)果為實數(shù)形式的整數(shù)%求余數(shù),字符串格式化**冪運算運算符與表達式關(guān)系運算符(比較運算符)兩個值進行比較,運算結(jié)果為True或FalsePython關(guān)系運算符最大的特點是可以連用。使用關(guān)系運算符的一個最重要的前提是,操作數(shù)之間必須可比較大小。運算符說明>大于<小于>=大于等于<=小于等于==等于!=不等于運算符與表達式賦值運算符注意:賦值運算符(=)和關(guān)系運算符(==)運算符示例=c=2+=c+=2相當(dāng)于c=c+2-=*=%=**=c**=2相當(dāng)于c=c*c//=運算符與表達式邏輯運算符運算符與表達式邏輯運算符邏輯運算符and、or、not常用來連接條件表達式構(gòu)成更加復(fù)雜的條件表達式,并且and和or具有惰性求值或邏輯短路的特點,當(dāng)連接多個表達式時只計算必須要計算的值。注意:運算符and和or并不一定會返回True或False,而是得到最后一個被計算的表達式的值,但是運算符not一定會返回True或False。運算符說明and布爾“與”or布爾“或”not布爾“非”運算符與表達式位運算符正數(shù)的移位操作較為簡單,即左移右移都只補零。負數(shù)先將其二進制按位取反加一,然后進行移位,符號位不變,左移則其后補零,右移則其前補1,然后按位取反加一。(操作的是補碼)左移(<<):相當(dāng)于乘以2;右移(>>):相當(dāng)于除于2,7>>1(取得整除)運算符說明<<左移>>右移&按位與|按位或^按位異或~按位翻轉(zhuǎn)/jniantic/p/12189648.html~x=-(x+1)運算符與表達式成員運算符成員運算符用于判斷序列中是否有某個成員。運算符示例inxiny,x是y的成員,則為Truenotinx不是y的成員,則為True運算符與表達式標識運算符標識運算符is用于比較兩個對象的內(nèi)存位置。示例:運算符與表達式運算符優(yōu)先級Python運算符有一套嚴格的優(yōu)先級規(guī)則,但是強烈建議在編寫復(fù)雜表達式時使用圓括號來明確說明其中的邏輯來提高代碼可讀性。類型運算符說明單目運算符~、+、-取反、正號和負號算術(shù)運算符*、/、%、//乘、除、求余+、-加、減位運算符<<、>>左移、右移&位與^位異或|位或比較運算符<、<=、>、>=、==、!=小于、小于等于、大于、大于等于、等于、不等于優(yōu)先級從高到底運算符與表達式

Python程序控制結(jié)構(gòu)《智能車Python編程設(shè)計》Python程序控制結(jié)構(gòu)流程控制對于任何一門編程語言來說都是至關(guān)重要的,它提供了控制程序如何執(zhí)行的方法。如果沒有控制語句,整個程序?qū)凑枕樞蛞来螆?zhí)行,而不能根據(jù)用戶的需求決定程序執(zhí)行的順序。本章將詳細介紹Python中的流程控制內(nèi)容,其中包含程序的三種控制結(jié)構(gòu)、程序流程圖、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)等等。最后通過一系列的實例和項目實戰(zhàn)幫助讀者掌握Python編程語言中的流程控制語句。課程大綱基本的程序結(jié)構(gòu)程序的流程圖程序的基本結(jié)構(gòu)分支結(jié)構(gòu)單分支結(jié)構(gòu):if語句二分支結(jié)構(gòu):if…else語句多分支結(jié)構(gòu):if…elif…else語句if語句的嵌套pass語句循環(huán)結(jié)構(gòu)無限循環(huán):while語句遍歷循環(huán):for語句循環(huán)嵌套循環(huán)保留字:break和continuerandom庫的使用random庫的概述random庫的解析程序的基本結(jié)構(gòu)程序的基本結(jié)構(gòu)三種控制結(jié)構(gòu)程序流程圖程序的基本結(jié)構(gòu)程序的流程圖程序流程圖用一系列圖形、流程線和文字說明描述程序的基本操作和控制流程,它是程序分析和過程描述的最基本方式。流程圖的基本元素包括7種:程序的基本結(jié)構(gòu)流程圖的基本元素匯總程序的基本結(jié)構(gòu)程序流程圖示例:由連接點A連接的一個程序

程序的基本結(jié)構(gòu)程序流程圖示例程序的基本結(jié)構(gòu)程序的基本結(jié)構(gòu)順序結(jié)構(gòu)是程序的基礎(chǔ),但單一的順序結(jié)構(gòu)不可能解決所有問題。程序由三種基本結(jié)構(gòu)組成:順序結(jié)構(gòu)分支結(jié)構(gòu)(選擇)循環(huán)結(jié)構(gòu)這些基本結(jié)構(gòu)都有一個入口和一個出口。任何程序都由這三種基本結(jié)構(gòu)組合而成。程序的基本結(jié)構(gòu)順序結(jié)構(gòu)是程序按照線性順序依次執(zhí)行的一種運行方式,其中語句塊1和語句塊2表示一個或一組順序執(zhí)行的語句。程序的基本結(jié)構(gòu)分支結(jié)構(gòu)是程序根據(jù)條件判斷結(jié)果而選擇不同向前執(zhí)行路徑的一種運行方式,包括單分支結(jié)構(gòu)和二分支結(jié)構(gòu)。由二分支結(jié)構(gòu)會組合形成多分支結(jié)構(gòu)。程序的基本結(jié)構(gòu)循環(huán)結(jié)構(gòu)是程序根據(jù)條件判斷結(jié)果向后反復(fù)執(zhí)行的一種運行方式,根據(jù)循環(huán)體觸發(fā)條件不同,包括條件循環(huán)和遍歷循環(huán)結(jié)構(gòu)。程序的基本結(jié)構(gòu)對于一個計算問題,可以用IPO描述---->流程圖描述或者直接以Python代碼方式描述。示例:求圓的周長和面積步驟1:(I)輸入:圓半徑R(P)處理:圓面積:S=π*R*R圓周長:L=2*π*R(O)輸出:圓面積S、周長LR=eval(input("請輸入圓半徑:"))S=3.1415*R*RL=2*3.1415*Rprint("面積和周長:",S,L)問題IPO描述流程圖描述Python代碼描述程序的基本結(jié)構(gòu)IPO描述主要用于區(qū)分程序的輸入輸出關(guān)系,重點在于結(jié)構(gòu)劃分,算法主要采用自然語言描述流程圖描述側(cè)重于描述算法的具體流程關(guān)系,流程圖的結(jié)構(gòu)化關(guān)系相比自然語言描述更進一步,有助于闡述算法的具體操作過程Python代碼描述是最終的程序產(chǎn)出,最為細致。程序的基本結(jié)構(gòu)練習(xí)用三種描述方法表示以下問題1.實數(shù)絕對值的計算。-33-102.求1+2+3+…+100的和。IPO問題描述、流程圖描述不寫程序,用IPO、程序流程圖分支結(jié)構(gòu)分支結(jié)構(gòu)單分支結(jié)構(gòu):if語句Python中if語句的語法格式如下:if表達式:

語句塊語句塊是if條件滿足后執(zhí)行的一個或多個語句序列語句塊中語句通過與if所在行形成縮進表達包含關(guān)系if語句首先評估<條件>的結(jié)果值,如果結(jié)果為True,則執(zhí)行語句塊里的語句序列,然后控制轉(zhuǎn)向程序的下一條語句。如果結(jié)果為False,語句塊里的語句會被跳過。分支結(jié)構(gòu)if語句中語句塊執(zhí)行與否依賴于條件判斷。但無論什么情況,控制都會轉(zhuǎn)到if語句后與該語句同級別的下一條語句

if語句的控制流程圖

分支結(jié)構(gòu)if語中<條件>部分可以使用任何能夠產(chǎn)生True或False的語句形成判斷條件最常見的方式是采用關(guān)系操作符Python語言共有6個關(guān)系操作符操作符數(shù)學(xué)符號操作符含義<<小于<=≤小于等于>=≥大于等于>>大于===等于!=≠不等于分支結(jié)構(gòu)示例1:輸入一個整數(shù)判讀該整數(shù)是否大于6,若大于6,輸出該整數(shù)大于6;否則直接退出。a=input(“請輸入一個整數(shù):”)a=int(a)ifa>6: print(a,“大于6”)分支結(jié)構(gòu)二分支結(jié)構(gòu):if…

else語句Python中if-else語句用來形成二分支結(jié)構(gòu),語法格式如下:if表達式:

語句塊1else:

語句塊2<語句塊1>是在if條件滿足后執(zhí)行的一個或多個語句序列<語句塊2>是if條件不滿足后執(zhí)行的語句序列二分支語句用于區(qū)分<條件>的兩種可能True或者False,分別形成執(zhí)行路徑分支結(jié)構(gòu)if…

else語句流程圖分支結(jié)構(gòu)示例2:對示例1進行修改,輸入一個整數(shù)判讀該整數(shù)是否大于6,若大于6,輸出該整數(shù)大于6;否則輸出該整數(shù)小于或等于6。a=input(“請輸入一個整數(shù):”)a=int(a)ifa>6: print(a,“大于6”)else: print(a,“小于或等于6”)分支結(jié)構(gòu)(單分支和二分支)練習(xí)1:輸入一個年份,判斷是否為閏年。閏年必須滿足以下兩個條件之一:(1)能被4整除,但不能被100整除的年份都是閏年。(2)能被400整除的年份都是閏年。練習(xí)2:任意輸入3個數(shù)字,按從小到大的順序輸出。答案x=int(input("第一個數(shù):"))y=int(input("第二個數(shù):"))z=int(input("第三個數(shù):"))ifx>y:x,y=y,xifx>z:x,z=z,xify>z:y,z=z,yprint(x,y,z)分支結(jié)構(gòu)多分支結(jié)構(gòu):if…elif…else語句Python的if-elif-else描述多分支結(jié)構(gòu),語句格式如下:if<條件1>:<語句塊1>elif<條件2>:<語句塊2>...else:<語句塊N>分支結(jié)構(gòu)多分支結(jié)構(gòu)是二分支結(jié)構(gòu)的擴展,這種形式通常用于設(shè)置同一個判斷條件的多條執(zhí)行路徑。Python依次評估尋找第一個結(jié)果為True的條件,執(zhí)行該條件下的語句塊,同時結(jié)束后跳過整個if-elif-else結(jié)構(gòu),執(zhí)行后面的語句。如果沒有任何條件成立,else下面的語句塊被執(zhí)行。else子句是可選的。分支結(jié)構(gòu)示例3:對上面示例再次修改,輸入一個整數(shù)判讀該整數(shù)是否大于6,若大于6,輸出該整數(shù)大于6;若該整數(shù)等于6則輸出該整數(shù)等于6;否則輸出該整數(shù)小于6。a=input(“請輸入一個整數(shù):”)a=int(a)ifa>6: print(a,“大于6”)elifa==6: print(a,“等于6”)

else: print(a,“小于6”)分支結(jié)構(gòu)if語句的嵌套前面講過的3種選擇語句之間都可以嵌套。

分支結(jié)構(gòu)if語句的嵌套分支結(jié)構(gòu)pass語句Python提供一個關(guān)鍵字pass,類似于空語句,可以用在類和函數(shù)的定義中或者選擇結(jié)構(gòu)中。當(dāng)暫時沒有確定如何實現(xiàn)功能,或者為以后的軟件升級預(yù)留空間,或者為其他類型功能時,可以使用該關(guān)鍵字來“占位”。示例:

ifa<b: pass#什么操作也不做 else: z=acalssA:#類的定義passdefdemo():#函數(shù)的定義pass分支結(jié)構(gòu)練習(xí)1:輸入學(xué)生成績S,按分數(shù)輸出其等級,S≥90為優(yōu),90>S≥80為良,80>S≥70為中等,70>S≥60為及格,S<60為不及格。練習(xí)2:使用嵌套語句完成練習(xí)1。練習(xí)3:判斷支付密碼的輸入數(shù)字是否合法。練習(xí)2參考grade=int(input('請輸入你的成績:'))ifgrade>=90:print('優(yōu)')else:ifgrade<90andgrade>=80:print('良')else:ifgrade<80andgrade>=70:print('中等')else:ifgrade<70andgrade>=60:print('及格')else:print('不及格')循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)無限循環(huán):while語句無限循環(huán)一直保持循環(huán)操作直到特定循環(huán)條件不被滿足才結(jié)束,不需要提前知道確定循環(huán)次數(shù)。Python通過保留字while實現(xiàn)無限循環(huán),使用方法如下:while判斷條件:

執(zhí)行語句

循環(huán)結(jié)構(gòu)無限循環(huán)也有一種使用保留字else的擴展模式:while<判斷條件>:<語句塊1>else:<語句塊2>循環(huán)結(jié)構(gòu)示例:求1+2+3…+100。(擴展1+2…+n) Sum=0 counter=1 whilecounter<=100: Sum=Sum+counter counter+=1 print(“1到100之和為:”,Sum)

循環(huán)結(jié)構(gòu)練習(xí):輸入兩個整數(shù),用“輾轉(zhuǎn)相除法”求它們的最大公約數(shù)。(1)比較兩數(shù),并使m大于n。(2)將m作被除數(shù),n作除數(shù),相除后余數(shù)為r。(3)循環(huán)判斷r,若r=0,則n為最大公約數(shù),結(jié)束循環(huán)。若r≠0,執(zhí)行mn,nr

;將m作被除數(shù),n作除數(shù),相除后余數(shù)為r。思路分析step1:將兩數(shù)中大的那個數(shù)放在m中,小的放在n中。?step2:求出m被n除后的余數(shù)r。??step3:若余數(shù)為0則執(zhí)行步驟(7),否則執(zhí)行步驟(4)。??step4:把除數(shù)作為新的被除數(shù);把余數(shù)作為新的除數(shù)。??step5:求出新的余數(shù)r。??step6:重復(fù)步驟(3)到(5)。??step7:輸出n,n即為最大公約數(shù)。參考答案參考m,n=map(int,input("請輸入兩個數(shù):").split(","))#輸入兩個數(shù)用逗號分開ifm<n:#如果m比n小,互換m和n的位置

m,n=n,mr=m%n#求出m除n的余數(shù)whiler:#如果余數(shù)不為0,進行循環(huán)

m=n#把n賦值給mn=r#把r賦值給nr=m%n#求余數(shù)print(f"最大公約數(shù)是{n}")#輸出n,即為最大公約數(shù)循環(huán)結(jié)構(gòu)遍歷循環(huán):for語句for語句可以遍歷任何序列的項目,如一個列表、元組或者一個字符串。for循環(huán)的語法格式如下:for

循環(huán)索引值in

序列:

循環(huán)體

for語句的執(zhí)行過程:每次循環(huán),判斷循環(huán)索引值是否還在序列中,如果在,取出該值提供給循環(huán)體內(nèi)的語句使用;若果不在,則結(jié)束循環(huán)。循環(huán)結(jié)構(gòu)示例1:for循環(huán)把字符串中的字符遍歷出來。循環(huán)結(jié)構(gòu)示例2:for循環(huán)把列表中的元素遍歷出來。循環(huán)結(jié)構(gòu)Python的range()內(nèi)置函數(shù)可以生成一個整數(shù)序列,通過list()函數(shù)可以轉(zhuǎn)換為list列表。循環(huán)結(jié)構(gòu)示例:循環(huán)結(jié)構(gòu)練習(xí):使用range()函數(shù)的for循環(huán)求1+2+3…+100的和。循環(huán)結(jié)構(gòu)循環(huán)嵌套Python語音允許在一個循環(huán)體中嵌入另一個循環(huán)。While循環(huán)中可以嵌入for循環(huán),也可以在for循環(huán)中嵌入while循環(huán)。雙層循環(huán)是一種常見的循環(huán)嵌套,循環(huán)的次數(shù)等于內(nèi)外層循環(huán)次數(shù)之積。示例:注意:1.循環(huán)嵌套時,外層循環(huán)和內(nèi)層循環(huán)是包含關(guān)系,即內(nèi)層循環(huán)必須被完全包含在外層循環(huán)中。2.程序每執(zhí)行一次外層循環(huán),則其內(nèi)層循環(huán)必須循環(huán)所有的次數(shù)后,才能進入到外層循環(huán)的下一次循環(huán)。循環(huán)結(jié)構(gòu)循環(huán)保留字:break和continue循環(huán)結(jié)構(gòu)有兩個輔助保留字:break和continue,它們用來輔助控制循環(huán)執(zhí)行break用來跳出最內(nèi)層for或while循環(huán),脫離該循環(huán)后程序從循環(huán)后代碼繼續(xù)執(zhí)行。示例:其中,break語句跳出了最內(nèi)層for循環(huán),但仍然繼續(xù)執(zhí)行外層循環(huán)。每個break語句只有能力跳出當(dāng)前層次循環(huán)Python中的循環(huán)控制保留字有兩個:continue和break。continue用于終止當(dāng)前輪次的循環(huán),本輪循環(huán)中后面的語句將不會被執(zhí)行,提前執(zhí)行下一輪循環(huán)。break用于退出本層循環(huán),繼續(xù)執(zhí)行循環(huán)外后面的語句。循環(huán)結(jié)構(gòu)continue用來結(jié)束當(dāng)前當(dāng)次循環(huán),即跳出循環(huán)體中下面尚未執(zhí)行的語句,但不跳出當(dāng)前循環(huán)。對于while循環(huán),繼續(xù)求解循環(huán)條件。而對于for循環(huán),程序流程接著遍歷循環(huán)列表對比continue和break語句,如下:循環(huán)結(jié)構(gòu)continue語句和break語句的區(qū)別是:continue語句只結(jié)束本次循環(huán),而不終止整個循環(huán)的執(zhí)行。break語句則是結(jié)束整個(當(dāng)前的)循環(huán)過程,不再判斷執(zhí)行循環(huán)的條件是否成立。循環(huán)結(jié)構(gòu)for循環(huán)和while循環(huán)中都存在一個else擴展用法。else中的語句塊只在一種條件下執(zhí)行,即for循環(huán)正常遍歷了所有內(nèi)容沒有因為break或return而退出。continue保留字對else沒有影響。示例:循環(huán)結(jié)構(gòu)

九九乘法口訣表參考答案練習(xí)1foriinrange(1,10):forjinrange(1,i+1):print('{0}*{1}={2}'.format(i,j,i*j),end='\t')print(end='\n’)參考答案練習(xí)2foriinrange(100,1000):b=int(i/100)s=int(i%100/10)g=int(i%10)ifb**3+s**3+g**3==i:print(i)參考答案練習(xí)3和練習(xí)4forxinrange(1,5):foryinrange(1,5):forzinrange(1,5):if(x!=y)and(y!=z)and(x!=z):print('{0}{1}{2}'.format(x,y,z))random庫的使用random庫的使用random庫概述隨機數(shù)在計算機應(yīng)用中十分常見,Python內(nèi)置的random庫主要用于產(chǎn)生各種分布的偽隨機數(shù)序列。random庫采用梅森旋轉(zhuǎn)算法(Mersennetwister)生成偽隨機數(shù)序列,可用于除隨機性要求更高的加解密算法外的大多數(shù)工程應(yīng)用。使用random庫主要目的是生成隨機數(shù),因此,讀者只需要查閱該庫的隨機數(shù)生成函數(shù),找到符合使用場景的函數(shù)使用即可。這個庫提供了不同類型的隨機數(shù)函數(shù),所有函數(shù)都是基于最基本的random.random()函數(shù)擴展而來。random庫的使用random庫解析函數(shù)描述seed(a=None)初始化隨機數(shù)種子,默認值為當(dāng)前系統(tǒng)時間random()生成一個[0.0,1.0)之間的隨機小數(shù)randint(a,b)生成一個[a,b]之間的整數(shù)getrandbits(k)生成一個k比特長度的隨機整數(shù)randrange(start,stop[,step])生成一個[start,stop)之間以step為步數(shù)的隨機整數(shù)uniform(a,b)生成一個[a,b]之間的隨機小數(shù)choice(seq)從序列類型(例如:列表)中隨機返回一個元素shuffle(seq)將序列類型中元素隨機排列,返回打亂后的序列sample(pop,k)從pop類型中隨機選取k個元素,以列表類型返回random庫的使用導(dǎo)入使用importrandom或fromrandomimport*示例:random庫的使用生成隨機數(shù)之前可以通過seed()函數(shù)指定隨機數(shù)種子,隨機種子一般是一個整數(shù),只要種子相同,每次生成的隨機數(shù)序列也相同。這種情況便于測試和同步數(shù)據(jù)。示例:Python容器(1)--字符串《智能車Python編程設(shè)計》課程大綱Python容器簡述字符串簡介字符串簡介字符串編碼

轉(zhuǎn)義字符轉(zhuǎn)義字符簡介不同的轉(zhuǎn)義字符格式化字符串字符串常用操作創(chuàng)建、訪問字符串截取字符串拼接字符串計算字符串的長度分割字符串合并字符串檢索字符串字符串類型的轉(zhuǎn)換內(nèi)置字符串處理函數(shù)Python容器簡述Python容器簡述1.為什么需要數(shù)據(jù)容器?假設(shè)你是一位老師,你現(xiàn)在需要用程序記錄班上3名學(xué)生的信息,你需要怎么做呢?可能有人會說,可以直接定義3個字符串變量,如下代碼:name1="學(xué)生1"name2="學(xué)生2"name3="學(xué)生3“這種方法雖然可以滿足我們的需求,但是寫起來很麻煩,這里只有3名學(xué)生的信息,那要是有1000個呢?難道我們要定義1000個變量嗎?這顯然是不現(xiàn)實的。那有什么辦法能解決此問題嗎?當(dāng)然有,這就要談起我們數(shù)據(jù)容器了,比如我們定義一個列表(list)來存儲。my_list=["學(xué)生1","學(xué)生2","學(xué)生3"]只用一個變量接收多份數(shù)據(jù),可知Python數(shù)據(jù)容器具有組織數(shù)據(jù)的作用Python容器簡述1.什么是數(shù)據(jù)容器?Python數(shù)據(jù)容器具有組織數(shù)據(jù)的作用數(shù)據(jù)容器就是一種可以存儲多份數(shù)據(jù)的數(shù)據(jù)類型,數(shù)據(jù)容器內(nèi)的數(shù)據(jù)被稱為元素,元素可以是任意數(shù)據(jù)類型(字符串、整數(shù)、布爾等),數(shù)據(jù)容器分為5類,分別是:列表(list)、元組(tuple)、字符串(str)、集合(set)、字典(dict)。Python中的容器主要分為兩種:?序列?和?映射。Python容器簡述有序序列無序序列列表元組字符串字典集合range、zip、map、enumerate等可變序列不可變序列序號數(shù)據(jù)結(jié)構(gòu)(類型)定義符號是否可變是否重復(fù)是否有序1字符串(str)‘’\””\’’’’’’\””””””不可變可重復(fù)有序2列表(list)[]可變可重復(fù)有序3元組(tuple)()不可變可重復(fù)有序4字典(dict){key:value}可變可重復(fù)無序5集合(set){}、空集合set()可變不可重復(fù)無序字符串簡介字符串簡介字符串或串(String)是由數(shù)字、字母、下劃線組成的一串字符。一般記為s=“a1a2…an”(n>=0)。它是編程語言中表示文本的數(shù)據(jù)類型。在程序設(shè)計中,字符串(string)為符號或數(shù)值的一個連續(xù)序列,如符號串(一串字符)或二進制數(shù)字串(一串二進制數(shù)字)。字符串在存儲上類似字符數(shù)組,它每一位單個元素都是能提取的。字符串簡介字符串簡介在Python中,字符串屬于不可變有序序列,使用單引號、雙引號、三單引號或三雙引號作為定界符,并且不同的定界符之間可以互相嵌套。Python中不支持字符類型,統(tǒng)一都用字符串。Python中單字符也作為字符串使用例如:Var1=‘helloworld’Var2=“helloworld”字符串編碼字符串編碼Python3的

默認編碼

為Unicode,可以識別中文字符。最早的字符串編碼是美國標準信息交換碼ASCII,僅對10個數(shù)字、26個大寫英文字母、26個小寫英文字母及一些其他符號進行了編碼。ASCII碼采用1個字節(jié)來對字符進行編碼,最多只能表示256個符號(含擴展碼)。GB2312是我國制定的中文編碼,使用1個字節(jié)表示英語,2個字節(jié)表示中文;GBK是GB2312的擴充,而CP936是微軟在GBK基礎(chǔ)上開發(fā)的編碼方式。GB2312、GBK和CP936都是使用2個字節(jié)表示中文。字符串編碼字符串編碼UTF-8對全世界所有國家需要用到的字符進行了編碼,以1個字節(jié)表示英語字符(兼容ASCII),以3個字節(jié)表示中文,還有些語言的符號使用2個字節(jié)(例如俄語和希臘語符號)或4個字節(jié)。不同編碼格式之間相差很大,采用不同的編碼格式意味著不同的表示和存儲形式,把同一字符存入文件時,寫入的內(nèi)容可能會不同,在試圖理解其內(nèi)容時必須了解編碼規(guī)則并進行正確的解碼。如果解碼方法不正確就無法還原信息,從這個角度來講,字符串編碼也具有加密的效果。字符串編碼以Unicode表示的str通過encode()方法可以編碼為指定的bytes>>>'ABC'.encode('ascii')b'ABC'>>>'中文'.encode('utf-8')b'\xe4\xb8\xad\xe6\x96\x87'>>>'中文'.encode('ascii')Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>UnicodeEncodeError:'ascii'codeccan'tencodecharactersinposition0-1:ordinalnotinrange(128)字符串編碼將編碼轉(zhuǎn)為字符在bytes中,無法顯示為ASCII字符的字節(jié),用\x##顯示。反過來,如果我們從網(wǎng)絡(luò)或磁盤上讀取了字節(jié)流。那么讀到的數(shù)據(jù)就是bytes。要把bytes變?yōu)閟tr,就需要用decode()方法:>>>b'ABC'.decode('ascii')'ABC'>>>b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')'中文'轉(zhuǎn)義字符轉(zhuǎn)義字符簡介轉(zhuǎn)義字符是一種特殊的字符常量。轉(zhuǎn)義字符以反斜線"\"開頭,后跟一個或幾個字符。轉(zhuǎn)義字符具有特定的含義,不同于字符原有的意義,故稱“轉(zhuǎn)義”字符。轉(zhuǎn)義字符Python語言轉(zhuǎn)義符:\輸出帶有引號的字符串,可以使用轉(zhuǎn)義符“\”你好\””使用\\輸出帶有轉(zhuǎn)移符的字符串例如:轉(zhuǎn)義字符不同的轉(zhuǎn)義字符轉(zhuǎn)義字符說明\續(xù)行符\n換行符\0空\t水平制表符,用于橫向跳到下一制表位\”雙引號\’單引號\\一個反斜杠\f換頁\0dd八進制數(shù),dd代表的字符,如\012代表換行\(zhòng)xhh十六進制數(shù),hh代表的字符,如\x0a代表換行轉(zhuǎn)義字符用轉(zhuǎn)義符可以在字符串中表達一些不可直接打印的信息例如:用\n表示換行字符串"Hello\nWorld\n\nGoodbye32\n"用print()函數(shù)打印后的輸出效果如下:HelloWorldGoodbye32轉(zhuǎn)義字符為了避免對字符串中的轉(zhuǎn)義字符進行轉(zhuǎn)義,可以使用原始字符串,在字符串前面加上字母r或R表示原始字符串,其中的所有字符都表示原始的含義而不會進行任何轉(zhuǎn)義則該字符串原樣輸出。思考:為了確保網(wǎng)址(/jishipeng/article/details/)有效,可以如何處理。格式化字符串1.使用“%”操作符語法格式:‘%[-][+][0][m][.n]格式化字符’%exp-:指定左對齊 +:對正數(shù)加正號0:表示用0填充空白處,與m一起用m:表示占有寬度 .n:表示小數(shù)點后保留位數(shù)格式化字符:指定類型exp:要轉(zhuǎn)換的項格式化字符串例格式化字符串常見的數(shù)字向字符串格式化符號描述%c格式化字符及其ASCII碼%s格式化字符串%d格式化整數(shù)%u格式化無符號整型%o格式化無符號八進制數(shù)%x格式化無符號十六進制數(shù)%X格式化無符號十六進制數(shù)(大寫)%f格式化浮點數(shù)字,可指定小數(shù)點后的精度%e用科學(xué)計數(shù)法格式化浮點數(shù)%E作用同%e,用科學(xué)計數(shù)法格式化浮點數(shù)%g%f和%e的簡寫%G%F和%E的簡寫%p用十六進制數(shù)格式化變量的地址格式化字符串常見的數(shù)字向字符串格式化轉(zhuǎn)換字符串表示的含義%[m]s將字符串寫入寬為m的串%[m]d將整數(shù)寫入寬為m的串%[m.n]f將實數(shù)寫入寬為m的串(其中有n位小數(shù))%[.n]e將實數(shù)按科學(xué)計數(shù)法寫入串(其中有n位小數(shù))%%將一個百分號寫入串%c格式化字符%d格式化十進制整數(shù)%x格式化十六進制數(shù)格式化字符串2.使用字符串對象的format()方法語法格式:str.format(args)str:用于指定字符串的顯示樣式(模板)arg:指定要轉(zhuǎn)換的項,多項用逗號分隔格式化字符串Python2.6開始,新增了一種格式化字符串的函數(shù)str.format(),它增強了字符串格式化的功能。相對于老版的%格式方法,它有很多優(yōu)點。1.在%方法中%s只能替代字符串類型,而在format中不需要理會數(shù)據(jù)類型;2.單個參數(shù)可以多次輸出,參數(shù)順序可以不相同;3.填充方式十分靈活,對齊方式十分強大;4.官方推薦用的方式,%方式將會在后面的版本被淘汰。格式化字符串1、位置參數(shù)格式化2、關(guān)鍵字參數(shù)格式化3、混合參數(shù)。需要主要,混合參數(shù)中,#混合參數(shù)傳參。注意位置參數(shù)必須連續(xù)(從0開始)。格式化字符串4、輸出{},避免{}被作為參數(shù)符號。原樣輸出5、冒號作為格式化開始位置注意:當(dāng)一個模板中出現(xiàn)多個占位符時,指定索引位置的規(guī)范需要統(tǒng)一,要不全部手動指定,要不全部自動例如:”我是數(shù)值:{:d},我是字符串:{1:s}”錯誤格式化字符串多種類型的數(shù)字格式化格式化字符串格式化不同數(shù)值類型格式化字符串

f-string2015年

python3.6根據(jù)PEP498新添加的一種字符串格式化方法,f-string實際上是在運行時計算的表達式,而不是常量值。f-string是文字字符串,前綴為’f’,其中包含大括號內(nèi)的表達式。表達式會將大括號中的內(nèi)容替換為其值。name="zings"print(f'mynameis{name}')

字符串常用操作字符串常用操作字符串是一個字符序列:字符串最左端位置標記為0,依次增加。字符串中的編號叫做“索引”字符串常用操作創(chuàng)建、訪問字符串單個索引輔助訪問字符串中的特定位置格式為<string>[<索引>]示例:

字符串常用操作字符串索引從0開始,一個長度為L的字符串最后一個字符的位置是L-1Python同時允許使用負數(shù)從字符串右邊末尾向左邊進行反向索引,最右側(cè)索引值是-1。示例:字符串常用操作截取字符串

溫馨提示

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

評論

0/150

提交評論