《Python程序設(shè)計(jì)與算法基礎(chǔ)教程》課件(含思政案例) Ch01 Python程序設(shè)計(jì)導(dǎo)論_第1頁
《Python程序設(shè)計(jì)與算法基礎(chǔ)教程》課件(含思政案例) Ch01 Python程序設(shè)計(jì)導(dǎo)論_第2頁
《Python程序設(shè)計(jì)與算法基礎(chǔ)教程》課件(含思政案例) Ch01 Python程序設(shè)計(jì)導(dǎo)論_第3頁
《Python程序設(shè)計(jì)與算法基礎(chǔ)教程》課件(含思政案例) Ch01 Python程序設(shè)計(jì)導(dǎo)論_第4頁
《Python程序設(shè)計(jì)與算法基礎(chǔ)教程》課件(含思政案例) Ch01 Python程序設(shè)計(jì)導(dǎo)論_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Python程序設(shè)計(jì)與算法基礎(chǔ)教程(第3版)

目錄(1)2第1章Python程序設(shè)計(jì)導(dǎo)論第2章Python語言基礎(chǔ)第3章程序流程控制第4章常用內(nèi)置數(shù)據(jù)類型第5章組合數(shù)據(jù)類型第6章輸入、輸出和文件第7章錯(cuò)誤和異常處理第8章函數(shù)和函數(shù)式編程第9章面向?qū)ο蟮某绦蛟O(shè)計(jì)第10章模塊和模塊化程序設(shè)計(jì)目錄(2)3第11章數(shù)據(jù)結(jié)構(gòu)與算法基礎(chǔ)第12章圖形用戶界面第13章圖形繪制和數(shù)據(jù)可視化第14章數(shù)值日期和時(shí)間處理第15章字符串和文本處理第16章數(shù)據(jù)庫訪問第17章網(wǎng)絡(luò)編程和通信第18章

并行計(jì)算:線程、進(jìn)程和協(xié)程第19章系統(tǒng)管理附錄APython計(jì)算生態(tài)(電子資源)第1章Python程序設(shè)計(jì)導(dǎo)論本章要點(diǎn):1.1程序設(shè)計(jì)語言1.2Python語言概述1.3Python語言版本和開發(fā)環(huán)境1.4使用Python解釋器解釋執(zhí)行Python程序1.5使用文本編輯器和命令行編寫和執(zhí)行Python源文件程序1.6使用集成開發(fā)環(huán)境IDLE編寫和執(zhí)行Python源文件程序1.7程序的打包和發(fā)布1.8在線幫助和相關(guān)資源1.1程序設(shè)計(jì)語言計(jì)算機(jī)系統(tǒng)由硬件和軟件組成物理計(jì)算機(jī)和外圍設(shè)備統(tǒng)稱為硬件計(jì)算機(jī)執(zhí)行的程序稱為軟件軟件一般分為系統(tǒng)軟件和應(yīng)用軟件兩大類計(jì)算機(jī)程序指定計(jì)算機(jī)完成任務(wù)所需的一系列步驟編程語言,又稱為程序設(shè)計(jì)語言,是一組用來定義計(jì)算機(jī)程序的語法規(guī)則。每一種語言都有一套獨(dú)特的關(guān)鍵字和程序指令語法編程語言編程語言分為低級(jí)語言和高級(jí)語言兩類低級(jí)語言與特定的機(jī)器有關(guān)高級(jí)語言獨(dú)立于機(jī)器機(jī)器語言和匯編語言屬于低級(jí)語言機(jī)器語言是第一代程序設(shè)計(jì)語言,使用二進(jìn)制代碼編寫程序,可讀性差,但能夠直接被計(jì)算機(jī)識(shí)別和執(zhí)行匯編語言是第二代程序設(shè)計(jì)語言,使用簡單的助記符來表示指令高級(jí)語言是獨(dú)立于計(jì)算機(jī)體系結(jié)構(gòu)的語言,其最大特點(diǎn)是類似自然語言的形式描述對(duì)問題的處理過程C、C++、C#、Java和Python按范式對(duì)編程語言分類面向過程的編程語言FORTRAN、COBOL、Basic、Ada、Pascal、C面向?qū)ο蟮木幊陶Z言Java、C#、C++、Smalltalk、VisualBasic函數(shù)式編程語言Lisp、Scheme、Haskell、F#邏輯式編程語言:PrologPython程序設(shè)計(jì)語言屬于多范式編程語言計(jì)算思維和程序設(shè)計(jì)方法人類在認(rèn)識(shí)世界和改造世界過程中形成了以下三種基本的思維邏輯思維:以推理和演繹為特征,以數(shù)學(xué)學(xué)科為代表實(shí)驗(yàn)思維:以實(shí)驗(yàn)和驗(yàn)證為特征,以物理學(xué)科為代表計(jì)算思維:以設(shè)計(jì)和構(gòu)造為特征,以計(jì)算機(jī)學(xué)科為代表計(jì)算思維的本質(zhì)是抽象(Abstraction)和自動(dòng)化(Automation)程序設(shè)計(jì)方法屬于計(jì)算思維的范疇,常見的程序設(shè)計(jì)方法主要包括兩種結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟮某绦蛟O(shè)計(jì)程序設(shè)計(jì)方法結(jié)構(gòu)化程序設(shè)計(jì)通常采用自頂向下(Top-Down)、逐步求精(StepwiseRefinement)的程序設(shè)計(jì)方法自頂向下程序設(shè)計(jì)的基本思想問題分解、算法實(shí)現(xiàn)、組合程序采用自頂向下方法設(shè)計(jì)的程序,一般通過自底向上(Bottom-Up)的方法來實(shí)現(xiàn)先實(shí)現(xiàn)、運(yùn)行和測試每一個(gè)基本函數(shù),再測試由基本函數(shù)組成的整體函數(shù),這樣有助于定位錯(cuò)誤程序的編寫和執(zhí)行用文本編輯器編寫和編輯程序Notepad、Vim、Emacs、Sublime等專用的IDE開發(fā)環(huán)境,例如IDLE、Spyder、VisualStudioCode等使用文本編輯器編寫一個(gè)程序后,將文件保存到磁盤上,包含程序代碼的文件稱之為源文件(sourcefile)將源文件轉(zhuǎn)換成機(jī)器語言有以下兩種轉(zhuǎn)換方法編譯:編譯器(Compiler)將源代碼翻譯成目標(biāo)語言解釋:解釋器(Interpreter)直接解釋執(zhí)行高級(jí)程序設(shè)計(jì)語言根據(jù)執(zhí)行機(jī)制分類高級(jí)編程語言靜態(tài)語言和腳本語言兩類采用編譯方式執(zhí)行的語言屬于靜態(tài)語言,例如C、C++、C#、Java等優(yōu)點(diǎn)在于:編譯后的目標(biāo)代碼可以直接運(yùn)行;編譯所產(chǎn)生的目標(biāo)代碼執(zhí)行速度通常更快采用解釋方式執(zhí)行的語言屬于腳本語言,例如JavaScript、PHP、Python等優(yōu)點(diǎn)在于:源代碼可以在任何操作系統(tǒng)上的解釋器中運(yùn)行,可移植性好;解釋執(zhí)行需要保留源代碼,因此程序糾錯(cuò)和維護(hù)十分方便1.2Python語言概述英音/?pa?θ?n/,美音/?pa?θɑ?n/是一種解釋型、面向?qū)ο蟮木幊陶Z言是一個(gè)開源語言,擁有大量的庫,可以高效地開發(fā)各種應(yīng)用程序Python語言的特點(diǎn)簡單、高級(jí)、面向?qū)ο?、可擴(kuò)展性、免費(fèi)開源、可移植性、豐富的庫、可嵌入性Python語言的應(yīng)用范圍操作系統(tǒng)管理、科學(xué)計(jì)算、Web應(yīng)用、圖形用戶界面(GUI)開發(fā)、其他(游戲開發(fā)等)1.3Python語言版本和開發(fā)環(huán)境2個(gè)主要版本:Python2和Python3Python3在設(shè)計(jì)時(shí),沒有考慮向下兼容Python語言的實(shí)現(xiàn):Python解釋器常用的Python實(shí)現(xiàn):Cpython、Jython、IronPython、PyPyPython語言的集成開發(fā)環(huán)境IDLE(內(nèi)置)、Spyder、PyCharm、Eclipse+Pydev插件、VisualStudio+PythonToolsforVisualStudio、PythonWin下載和安裝Python本書基于Windows10和

Python3.10

構(gòu)建Python開發(fā)平臺(tái)【例1.1】下載Python安裝程序/downloads/windows/單擊超鏈接Windowsinstaller(64-bit),以下載目前最新版本Python3.10(64位)的安裝程序python-3.10.1-amd64.exe【例1.2】安裝Python應(yīng)用程序(1)雙擊下載的Windows格式安裝文件python-3.10.1-amd64.exe(2)在定制Python對(duì)話框窗口中,注意需要選中“Addpython3.10toPATH”復(fù)選框(3)單擊InstallNow超鏈接,安裝Python程序安裝和管理Python擴(kuò)展包Python3.4以后的版本包含pip和setuptools庫pip用于安裝管理Python擴(kuò)展包setuptools用于發(fā)布Python包pip的典型應(yīng)用是從PyPI(PythonPackageIndex)上安裝Python第三方包【例1.3】更新pip和setuptools包在Windows命令提示符窗口中,輸入命令行命令“pipinstall–Upipsetuptools”,更新pip和setuptools包【例1.4】安裝NumPy包在Windows命令提示符窗口中,輸入命令行命令“pipinstallNumPy”,安裝NumPy包【例1.5】安裝Matplotlib包在Windows命令提示符窗口中,輸入命令行命令“pipinstallMatplotlib”,安裝Matplotlib包1.4使用Python解釋器解釋執(zhí)行Python程序(1)Python的默認(rèn)安裝路徑為…AppData\Local\Programs\Python\Python310\,包括Python解釋器python.exePython庫目錄和其它文件【例1.6】運(yùn)行Python解釋器“開始”|“所有應(yīng)用”|Python3.10|Python3.10(64-bit)【例1.7】輸出Helloworld!Python解釋器的提示符為:>>>>>>print('Hello,world!')使用Python解釋器解釋執(zhí)行Python程序(2)【例1.8】使用Python解釋器進(jìn)行數(shù)學(xué)運(yùn)算>>>11+22+33+44+55#輸出:165>>>(1+0.01)**365>>>

(1-0.01)**365【例1.9】使用解釋器環(huán)境中特殊變量:_>>>11+22#輸出:33>>>_#輸出:33>>>_+33#輸出:66【例1.10】同時(shí)運(yùn)行多個(gè)表達(dá)式:同時(shí)運(yùn)行多個(gè)以逗號(hào)分隔的表達(dá)式,返回結(jié)果為元組>>>2,2**10#輸出:(2,1024)【例1.11】關(guān)閉Python解釋器Ctrl+Z及回車鍵;或者輸入quit()命令;或者直接關(guān)閉命令行窗口運(yùn)行Python集成開發(fā)環(huán)境IDLE(1)【例1.12】運(yùn)行Python內(nèi)置集成開發(fā)環(huán)境IDLE“開始”|“所有應(yīng)用”|Python3.10|IDLE(Python3.1064-bit)【例1.13】使用集成開發(fā)環(huán)境IDLE解釋執(zhí)行Python語句>>>print('Good!'*5)Good!Good!Good!Good!Good!運(yùn)行Python集成開發(fā)環(huán)境IDLE(2)【例1.14】使用IDLE執(zhí)行多行代碼打印0到9范圍的數(shù)字,分隔符為空格>>>forxinrange(10):print(x,end='')【例1.15】關(guān)閉IDLE輸入quit()命令;或者直接關(guān)閉IDLE窗口,均可以關(guān)閉Python解釋器1.5使用文本編輯器和命令行編寫和執(zhí)行Python源文件程序(1)將Python程序編寫成文本文件(.py)編寫Python源代碼文件程序、并通過Python編譯器/解釋器的執(zhí)行程序的流程使用文本編輯器和命令行編寫和執(zhí)行Python源文件程序(2)【例1.16】使用文本編輯器(記事本)編寫Helloworld程序在記事本中,輸入程序源代碼。文件另存為hello.py注意,“保存類型”選擇“所有文件”,“編碼”選擇UTF-8Helloworld程序(hello.py)源代碼分析第1行為注釋。以符號(hào)#開始,到行尾結(jié)束第2行調(diào)用內(nèi)置庫的函數(shù)print,輸出:Hello,World!使用文本編輯器和命令行編寫和執(zhí)行【例1.17】使用Windows命令提示符窗口運(yùn)行hello.py(1)執(zhí)行

“開始”|“所有應(yīng)用”|“Windows系統(tǒng)”|“命令提示符”,打開Windows命令提示符窗口(2)輸入命令行命令“pythonc:\pythonpa\ch01\hello.py”,按回車鍵執(zhí)行程序(3)輸入命令行命令“c:\pythonpa\ch01\hello.py”,按回車鍵執(zhí)行程序(4)輸入“cdc:\pythonpa\ch01”,輸入命令行命令“pythonhello.py”,按回車鍵執(zhí)行程序(5)切換到工作目錄“c:\pythonpa\ch01”,然后輸入命令行命令“hello.py”,按回車鍵執(zhí)行程序使用文本編輯器和命令行編寫和執(zhí)行【例1.18】使用資源管理器運(yùn)行hello1.py(1)程序hello1.py的內(nèi)容如下:importrandom#導(dǎo)入庫模塊print("Hello,World")#輸出:Hello,Worldprint("你今天的幸運(yùn)隨機(jī)數(shù)是:",random.choice(range(10)))#輸出從0到9之間隨機(jī)選擇的數(shù)input()#等待用戶輸入(2)在資源管理器中,雙擊c:\pythonpa\ch01目錄下的hello1.py文件,執(zhí)行hello1.py源程序(3)程序hello1.py中每一行代碼的含義如下: 第1行代碼導(dǎo)入庫模塊random。Python可以導(dǎo)入和使用功能豐富的標(biāo)準(zhǔn)庫或擴(kuò)展庫。 第2行代碼調(diào)用內(nèi)置庫函數(shù)print()輸出“Hello,World”。 第3行代碼使用random庫中的choice函數(shù),在0~9范圍中隨機(jī)選擇一個(gè)數(shù)并輸出。 第4行代碼調(diào)用內(nèi)置庫函數(shù)input()。用戶按Enter鍵,程序結(jié)束運(yùn)行使用文本編輯器和命令行編寫和執(zhí)行【例1.19】命令行參數(shù)示例(hello_argv.py)hello_argv.py的內(nèi)容如下:importsysprint('Hello,'+sys.argv[1])程序運(yùn)行結(jié)果:1.6使用集成開發(fā)環(huán)境IDLE編寫和執(zhí)行Python源文件程序【例1.20】使用IDLE編寫求解2的1024次方的程序(bigint.py)(1)“開始”|“所有應(yīng)用”|Python3.10|IDLE(Python3.1064-bit),打開內(nèi)置集成開發(fā)環(huán)境IDLE(2)執(zhí)行IDLE菜單命令File|NewFile(或者按快捷鍵Ctrl+N),新建Python源代碼文件(3)在Python源代碼編輯器中輸入程序源代碼:print("2的1024次方:",2**1024)(4)執(zhí)行IDLE菜單命令File|Save(或者按快捷鍵Ctrl+S),保存文件為bigint.py。(5)執(zhí)行IDLE菜單命令Run|RunModule(或者按快捷鍵F5),輸出程序運(yùn)行結(jié)果【例1.21】使用IDLE編輯hello1.py程序importrandom#導(dǎo)入庫模塊print("GoodLuck!")#輸出:GoodLuck!print("你今天的幸運(yùn)隨機(jī)數(shù)是:",random.choice(range(10)))#輸出從0到9之間隨機(jī)選擇的數(shù)input()#等待用戶輸入1.7程序的打包和發(fā)布Python程序打包和發(fā)布最常用的是第三方的擴(kuò)展包PyInstaller,它是用于將Python源程序生成直接運(yùn)行的程序【例1.22】安裝PyInstaller包在Windows命令提示符窗口中,輸入命令行命令“pipinstallpyinstaller”,以安裝PyInstaller包使用PyInstaller生成可執(zhí)行程序pyinstaller

選項(xiàng)Python源文件【例1.23】使用PyInstaller生成可執(zhí)行文件(1)打開Windows命令行窗口。在Windows命令提示符窗口中,切換到C:\pythonpa\ch01目錄。(2)生成可執(zhí)行文件。輸入命令行命令“pyinstaller-Fhello1.py”,以生成可執(zhí)行文件。(3)運(yùn)行可執(zhí)行文件。切換到C:\pythonpa\ch01\dist目錄下,輸入“hello1.exe”,按Enter鍵執(zhí)行程序,并觀察運(yùn)行結(jié)果。1.8在線幫助和相關(guān)資源(1)Python交互式幫助系統(tǒng)直接鍵入help()函數(shù)可進(jìn)入交互式幫助系統(tǒng)鍵入help(object)可獲取關(guān)于object對(duì)象的幫助信息【例1.24】使用Python交互式幫助系統(tǒng)示例(1)進(jìn)入交互式幫助系統(tǒng)。在Python解釋器中,鍵入help(),按回車鍵(2)顯示安裝的所有模塊。鍵入modules,然后按回車鍵(3)顯示與random相關(guān)的模塊。鍵入modulesrandom,然后按回車鍵(4)顯示模塊random的幫助信息。鍵入random,然后按回車鍵(5)顯示random模塊random函數(shù)的信息。鍵入random.random,然后按回車鍵(6)退出幫助系統(tǒng)。鍵入quit,然后按回車鍵【例1.25】使用Python內(nèi)置函數(shù)獲取幫助信息(1)查看Python內(nèi)置對(duì)象列表。輸入命令:>>>dir(__builtins__)(2)查看float的信息。輸入命令:>>>float

(3)查看內(nèi)置類float的幫助信息。輸入help(float)命令在線幫助和相關(guān)資源(2)Python文檔:Python語言及標(biāo)準(zhǔn)模塊的詳細(xì)參考信息【例1.26】使用Python文檔(1)打開Python文檔。執(zhí)行Windows菜單命令“開始”|“所有應(yīng)用”|Python3.10|Python3.10Manuals(64-bit)(用戶也可以在IDLE環(huán)境按F1鍵),打開Python文檔(2)瀏覽random模塊幫助信息。在左側(cè)的目錄樹中依次展開,瀏覽random模塊的幫助信息(3)查找有關(guān)math的幫助信息。在左側(cè)單擊“搜索”選項(xiàng)卡,鍵入math,然后按回車鍵,在左側(cè)的目錄樹中雙擊查看有關(guān)math的幫助信息Python官網(wǎng):

/用戶可以下載各種版本的Python程序或者查看幫助文檔等Python擴(kuò)展庫索引(PyPI):

/所有人都可以下載第三方庫或上傳自己開發(fā)的庫到PyPI。PyPI推薦使用pip包管理器來下載第三方庫PEPPythonEnhancementProposals(Python增強(qiáng)提案,也譯為Python改進(jìn)建議書)PEP的官網(wǎng)是/dev/peps/PEP通常是對(duì)多方信息進(jìn)行匯總,并經(jīng)過部分核心開發(fā)者的審查和認(rèn)可而最終形成的正式文檔【例1.27】PEP-0008:Python編碼規(guī)范PEP-0008官網(wǎng)地址為/dev/peps/pep-0008/用戶可以了解Python編程規(guī)范【例1.28】PEP-0020:Python之禪PEP-0020官網(wǎng)地址為/dev/peps/pep-0020/用戶可以了解Python編程的指導(dǎo)準(zhǔn)則在Python解釋器中輸入importthis,也可以輸出“TheZenofPython(Python之禪)”的內(nèi)容本章小結(jié)實(shí)驗(yàn)和習(xí)題上機(jī)實(shí)踐完成課本實(shí)例1.1~實(shí)例1.28,熟悉Python編輯、開發(fā)和運(yùn)行環(huán)境復(fù)習(xí)題單選題填空題思考題案例研究一:安裝和使用其它Python環(huán)境本章案例研究的主要目的是通過Anaconda的安裝和使用,幫助學(xué)生使用其它Python開發(fā)環(huán)境進(jìn)行學(xué)習(xí)和研究的方法Anaconda官網(wǎng)下載網(wǎng)址為/download/目前最新版本W(wǎng)indows版本的安裝程序Anaconda3-2021.11-Windows-x86_64.exe雙擊Anaconda3-2021.11-Windows-x86_64.exe,安裝Anaconda應(yīng)用程序安裝Anaconda后,就相當(dāng)于安裝了Python、IPython、集成開發(fā)環(huán)境Spyder以及一些常用的科學(xué)計(jì)算包案例研究的解題思路和源代碼等以電子版形式提供,具體請(qǐng)掃描教程中的二維碼案例研究一:使用IPython進(jìn)行交互式科學(xué)計(jì)算【例CS1A.4】IPythonMagic函數(shù)使用示例使用%timeit命令快速測量代碼運(yùn)行時(shí)間In[6]:%timeitsum(range(1000000))使用%run命令運(yùn)行腳本In[7

溫馨提示

  • 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)論