Python程序設(shè)計(jì)教程(工作手冊式) 教案全套 王瑤 情景1-7 揭秘Python程序設(shè)計(jì)之謎 - Python與電子商務(wù)_第1頁
Python程序設(shè)計(jì)教程(工作手冊式) 教案全套 王瑤 情景1-7 揭秘Python程序設(shè)計(jì)之謎 - Python與電子商務(wù)_第2頁
Python程序設(shè)計(jì)教程(工作手冊式) 教案全套 王瑤 情景1-7 揭秘Python程序設(shè)計(jì)之謎 - Python與電子商務(wù)_第3頁
Python程序設(shè)計(jì)教程(工作手冊式) 教案全套 王瑤 情景1-7 揭秘Python程序設(shè)計(jì)之謎 - Python與電子商務(wù)_第4頁
Python程序設(shè)計(jì)教程(工作手冊式) 教案全套 王瑤 情景1-7 揭秘Python程序設(shè)計(jì)之謎 - Python與電子商務(wù)_第5頁
已閱讀5頁,還剩200頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Python程序設(shè)計(jì)工作手冊式教材教案專業(yè)名稱:課程名稱:Python程序設(shè)計(jì)任課班級:教師姓名:所屬院系:職稱:課時(shí):64使用教材:

情景一揭秘Python程序設(shè)計(jì)之謎教學(xué)課題IDLE的下載安裝和使用序號1課時(shí)2教學(xué)手段多媒體、板書、實(shí)訓(xùn)室教學(xué)方法講授法、演示法、案例法教學(xué)課型□理論□實(shí)訓(xùn)√一體化□(其它)教學(xué)目標(biāo)能力目標(biāo):掌握下載和安裝IDLE的方法,熟練掌握IDLE的命令(交互)模式和程序(腳本)模式,熟練應(yīng)用IDLE來編寫、運(yùn)行Python程序。知識目標(biāo):認(rèn)識Python語言、了解Python發(fā)展歷史、特性和應(yīng)用范圍。素質(zhì)目標(biāo):接受新知識、自主學(xué)習(xí)的能力。教學(xué)重點(diǎn)IDLE的使用教學(xué)難點(diǎn)Python程序的調(diào)試運(yùn)行教學(xué)過程設(shè)計(jì)備注一、課程概述介紹教師個(gè)人信息、聯(lián)系方式等;介紹Python程序設(shè)計(jì)課程在計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)中的地位;介紹Python技術(shù)的應(yīng)用領(lǐng)域;介紹Python程序設(shè)計(jì)課程的考核等。二、教學(xué)內(nèi)容1、Python語言的發(fā)展歷史python是1989年圣誕節(jié)期間,由荷蘭人GuidovanRossum(吉多.范羅蘇姆)在阿姆斯特丹,Guido為了打發(fā)圣誕節(jié)的無趣,決心開發(fā)一個(gè)新的腳本解釋程序,作為ABC語言的一種繼承。之所以選中Python(大蟒蛇的意思)作為該編程語言的名字,是取自英國20世紀(jì)70年代首播的電視喜劇《蒙提.派森的飛行馬戲團(tuán)》(MontyPython'sFlyingCircus)。python2.0于2000.10.16日發(fā)布,增加現(xiàn)實(shí)完整的垃圾回收,并支持Unicode。2018年3月,該語言作者在郵件列表上宣布Python2.7將于2020年1月1日終止支持。Python3.0于2008.12.3日發(fā)布,此版不完全兼容之前的Python源代碼。不過,很多新特性后來也被移植到舊的Python2.6/2.7版本。Python的特點(diǎn)易于學(xué)習(xí):Python有相對較少的關(guān)鍵字,結(jié)構(gòu)簡單,和一個(gè)明確定義的語法,學(xué)習(xí)起來更加簡單。易于閱讀:Python代碼定義的更清晰。易于維護(hù):Python的成功在于它的源代碼是相當(dāng)容易維護(hù)的。一個(gè)廣泛的標(biāo)準(zhǔn)庫:Python的最大的優(yōu)勢之一是豐富的庫,跨平臺的,在UNIX,Windows和Macintosh兼容很好?;?dòng)模式:互動(dòng)模式的支持,您可以從終端輸入執(zhí)行代碼并獲得結(jié)果的語言,互動(dòng)的測試和調(diào)試代碼片斷??梢浦玻夯谄溟_放源代碼的特性,Python已經(jīng)被移植(也就是使其工作)到許多平臺。可擴(kuò)展:如果你需要一段運(yùn)行很快的關(guān)鍵代碼,或者是想要編寫一些不愿開放的算法,你可以使用C或C++完成那部分程序,然后從你的Python程序中調(diào)用。數(shù)據(jù)庫:Python提供所有主要的商業(yè)數(shù)據(jù)庫的接口。GUI編程:Python支持GUI可以創(chuàng)建和移植到許多系統(tǒng)調(diào)用??汕度?你可以將Python嵌入到C/C++程序,讓你的程序的用戶獲得“腳本化”的能力。3、IDLE的下載在Windows平臺下載IDLE的步驟打開瀏覽器,訪問Python官網(wǎng)/,單擊“Downloads”菜單下的“Windows”版本如果需要下載其它歷史版本,可以直接進(jìn)入Downloads按鈕,選擇符合本地計(jì)算機(jī)系統(tǒng)和位數(shù)的Python版本即可。點(diǎn)擊Download

后邊的鏈接就可以直接下載了。4、IDLE的安裝雙擊下載的文件,此時(shí)會彈出一個(gè)Python安裝向?qū)У拇翱?。勾上“AddPython3.9toPATH”,然后單擊“Customizeinstallation”按鈕。默認(rèn)選擇,單擊“Next”按鈕。在彈出的窗口中可以修改安裝路徑。安裝成功之后,會彈出安裝成功的窗口。5、讓同學(xué)們在計(jì)算機(jī)上把Python的下載與安裝實(shí)踐操作一遍。6、IDLE的使用IDLE(IntegratedDevelopmentandLearningEnvironment)官方標(biāo)準(zhǔn)集成開發(fā)環(huán)境,從官網(wǎng)下載Python并安裝后,同時(shí)就安裝了IDLE。安裝完成后,使用組合鍵“Win+R”打開運(yùn)行窗口,輸入“cmd”,打開命令提示符窗口,在窗口中輸入“python”或“py”,此時(shí)如出現(xiàn)下圖所示的信息,則說明Python已經(jīng)成功安裝。當(dāng)然,我們也可以使用開始按鈕,找到Python3.9下的IDLE(Python3.964-bit)官方標(biāo)準(zhǔn)集成開發(fā)環(huán)境,到如下圖所示。”>>>”提示符表示Python已經(jīng)做好準(zhǔn)備,等待你向它發(fā)布命令,讓它干活。7、讓同學(xué)們在計(jì)算機(jī)上把IDLE的命令(交互)模式和程序(腳本)模式都實(shí)踐操作一遍,加深印象。三、總結(jié)通過本次任務(wù)的學(xué)習(xí)和實(shí)踐,我們了解了Python語言的發(fā)展歷史、特點(diǎn)和應(yīng)用領(lǐng)域,能夠獨(dú)立完成IDLE的下載與安裝任務(wù),并且能夠熟練地掌握和使用IDLE的命令(交互)模式和程序(腳本)模式來完成基本的操作。同時(shí)建議大家樹立版權(quán)意識,通過官方網(wǎng)站下載正版軟件,避免到陌生的網(wǎng)站和平臺下載未經(jīng)驗(yàn)證的軟件。作業(yè)布置使用IDLE輸出:“好好學(xué)習(xí),天天向上!”教學(xué)反思教師總結(jié)本次課的知識點(diǎn),重點(diǎn)強(qiáng)調(diào)Python語言的優(yōu)點(diǎn)和應(yīng)用領(lǐng)域,突出Python程序設(shè)計(jì)的重要性和應(yīng)用性,從而提高同學(xué)們的學(xué)習(xí)興趣。結(jié)合教學(xué)重點(diǎn)和難點(diǎn),對所學(xué)知識進(jìn)一步強(qiáng)化。情景一揭秘Python程序設(shè)計(jì)之謎主題輸入與輸出序號2課時(shí)2教學(xué)手段多媒體、板書、實(shí)訓(xùn)室教學(xué)方法講授法、演示法、案例法教學(xué)課型□理論□實(shí)訓(xùn)√一體化□(其它)教學(xué)目標(biāo)能力目標(biāo):在PyCharm集成開發(fā)環(huán)境中,編寫程序?qū)崿F(xiàn)用戶信息的錄入(包括用戶名、密碼、姓名、性別、年齡等),并將上述信息以格式化輸出到控制臺。知識目標(biāo):了解PyCharm的版本、功能和創(chuàng)建、運(yùn)行Python程序的步驟。素質(zhì)目標(biāo):接受新知識、自主學(xué)習(xí)的能力。教學(xué)重點(diǎn)使用PyCharm開發(fā)環(huán)境編寫Python程序教學(xué)難點(diǎn)Python程序的調(diào)試運(yùn)行教學(xué)過程設(shè)計(jì)備注一、復(fù)習(xí)上一節(jié)上課內(nèi)容并引出本節(jié)上課內(nèi)容Python語言的發(fā)展歷史,Python的下載與安裝,IDLE的使用;同學(xué)們上節(jié)課已經(jīng)掌握了Python自帶IDLE的兩種應(yīng)用模式,大家覺得如果使用這兩種模式中的一種來開發(fā)一個(gè)應(yīng)用程序,方便嗎?有沒有困難?顯而易見,Python自帶IDLE應(yīng)用到真實(shí)的開發(fā)案例中就有些功能不足、捉襟見肘了。大致原因有:界面不友好、沒有代碼提示功能、自帶的數(shù)據(jù)包很少等。論語有云:“工欲善其事,必先利其器”,本次課我們一起來學(xué)習(xí)讓Python開發(fā)事半功倍的PyCharm。二、教學(xué)內(nèi)容1、PyCharm的介紹PyCharm是一種PythonIDE,帶有一整套可以幫助用戶在使用Python語言開發(fā)時(shí)提高其效率的工具,比如調(diào)試、語法高亮、Project管理、代碼跳轉(zhuǎn)、智能提示、自動(dòng)完成、單元測試、版本控制等。此外,該IDE提供了一些高級功能,以用于支持Django框架下的專業(yè)Web開發(fā)。PyCharm是由JetBrains打造的一款PythonIDE,同時(shí)支持GoogleAppEngine,PyCharm支持IronPython。這些功能在先進(jìn)代碼分析程序的支持下,使PyCharm成為Python專業(yè)開發(fā)人員和剛起步人員使用的有力工具。PyCharm分為專業(yè)版(Professional)和社區(qū)版(Community),這兩種版本的區(qū)別是:專業(yè)版:功能全,適合專業(yè)開發(fā)人員,需要收費(fèi)。社區(qū)版:部分功能,適合學(xué)生、教育者,免費(fèi)。相比專業(yè)版,社區(qū)版缺少專業(yè)版中的Web開發(fā),PythonWeb框架,Python的探查,遠(yuǎn)程開發(fā)等功能。2、PyCharm的下載打開PyCharm官網(wǎng)(/pycharm),單擊“Download”。選擇”Community”社區(qū)版,單擊“Download”下載即可。3、PyCharm的安裝下載完成后,雙擊安裝包進(jìn)行安裝,單擊“Next”按鈕;單擊"Browse…修改安裝路徑,建議不要使用中文字符,單擊“Next”按鈕。根據(jù)自己的實(shí)際情況勾選相應(yīng)選項(xiàng),單擊“Next”開始安裝;稍等片刻,出現(xiàn)安裝成功提示,單擊“Finish”,重啟電腦完成安裝。4、創(chuàng)建PyCharm項(xiàng)目第一步:雙擊桌面“PyCharmCommunityEdition2021.2”啟動(dòng)程序;勾選同意后單擊“Continue”,單擊“NewProject”按鈕創(chuàng)建新項(xiàng)目。第二步:設(shè)置“NewProject”相應(yīng)選項(xiàng)。第三步:在新建好項(xiàng)目上單擊右鍵,創(chuàng)建Python文件。第四步:編寫Python文件,在代碼編輯區(qū)單擊右鍵選擇“Runcqcvc”或“Ctrl+F5”鍵,運(yùn)行該文件。5、輸入不同的數(shù)據(jù)類型input函數(shù)默認(rèn)接收到的數(shù)據(jù)為都為字符串類型。如果需要輸入不同的數(shù)據(jù)類型,那么就要做一個(gè)工作,將用戶錄入的字符串類型轉(zhuǎn)為整型即可。6、輸出轉(zhuǎn)義字符中的特殊字符轉(zhuǎn)義字符功能轉(zhuǎn)義字符功能\n換行符,光標(biāo)位置移到下一行開頭\r回車符,將光標(biāo)位置移到本行開頭。\r后面的內(nèi)容移到字符串開頭,并逐一替換開頭部分字符,直至將后面的內(nèi)容完全替換\t水平制表符,即Tab鍵,一般相當(dāng)于四個(gè)空格\b退格(Backspace)\’輸出單引號\”輸出雙引號\續(xù)行符(在行尾時(shí))\\輸出反斜線符號Python支持格式化字符串的輸出,%運(yùn)算符通常被稱為字符串取模運(yùn)算符,可用于字符串格式化,最基本的用法是將一個(gè)值插入到一個(gè)有字符串格式符%x的字符串中。在字符串中把需要輸出的變量值用{}來代替,然后用format()來修改使之成為想要的字符串,默認(rèn)情況下按照從左往右的順序自動(dòng)進(jìn)行替換;但也可以在大括號中寫入序號讓替換的值根據(jù)位置而改變;同時(shí)還可以使用關(guān)鍵字來實(shí)現(xiàn)一一對應(yīng)的賦值替換,其中數(shù)字的精度通過在大括號前加冒號,格式為{:.xf}如果x為整數(shù)則沒有意義。7、讓同學(xué)們在計(jì)算機(jī)上把PyCharm的下載安裝與使用實(shí)踐操作一遍,老師對同學(xué)們的操作進(jìn)行指導(dǎo)和答疑。三、總結(jié)通過本次任務(wù)的學(xué)習(xí)和實(shí)踐,掌握了PyCharm的下載安裝與使用、輸入與輸出函數(shù)的使用方法。并且能夠熟練地使用輸入函數(shù)完成信息的錄入以及數(shù)據(jù)類型的轉(zhuǎn)換、使用輸出函數(shù)進(jìn)行格式化輸出。同時(shí)理解在程序編寫過程中代碼規(guī)范的目的和意義,不僅僅可以增加程序的可讀性和可維護(hù)性,更重要的是可以促進(jìn)團(tuán)隊(duì)合作、降低維護(hù)成本、有助于程序員自身的成長。作業(yè)布置使用PyCharm輸出:“書山有路勤為徑,學(xué)海無涯苦作舟”教學(xué)反思教師指出學(xué)生實(shí)踐中可能出錯(cuò)和已經(jīng)出錯(cuò)的地方,結(jié)合教學(xué)重點(diǎn)和難點(diǎn),對所學(xué)知識進(jìn)一步強(qiáng)化。情景一揭秘Python程序設(shè)計(jì)之謎主題第三方庫的安裝序號3課時(shí)2教學(xué)手段多媒體、板書、實(shí)訓(xùn)室教學(xué)方法講授法、演示法、案例法教學(xué)課型□理論□實(shí)訓(xùn)√一體化□(其它)教學(xué)目標(biāo)能力目標(biāo):掌握兩種安裝第三方庫的方法。知識目標(biāo):了解標(biāo)準(zhǔn)庫與第三方庫的區(qū)別、常用的第三方庫名和功能。素質(zhì)目標(biāo):接受新知識、自主學(xué)習(xí)的能力。教學(xué)重點(diǎn)第三方庫的安裝教學(xué)難點(diǎn)常用的第三方庫名和功能教學(xué)過程設(shè)計(jì)備注一、復(fù)習(xí)上一節(jié)上課內(nèi)容并引出本節(jié)上課內(nèi)容我們使用Python來編寫程序完成特定的功能,如果所有功能都重新開發(fā)的話,勢必會延長開發(fā)的周期,增加開發(fā)的成本。其中Python的特點(diǎn)之一就是因?yàn)槠浔旧砭哂胸S富而且強(qiáng)大的庫的第三方庫,從而使編程效率大大提高。我們只需要完成第三方庫的安裝,再導(dǎo)入后調(diào)用,即可實(shí)現(xiàn)具體功能。二、教學(xué)內(nèi)容1、第三方庫簡介Python有兩個(gè)庫,分別是標(biāo)準(zhǔn)庫與第三方庫。標(biāo)準(zhǔn)庫是隨著Python安裝的時(shí)候默認(rèn)自帶的庫;而第三方庫則需要下載后安裝到python的安裝目錄下。強(qiáng)大的標(biāo)準(zhǔn)庫奠定了python發(fā)展的基石,豐富和不斷擴(kuò)展的第三方庫是python壯大的保證。可以說不斷豐富并完善的Python庫才是Python真正的魅力所在。我們可以把第三方庫理解為一個(gè)黑匣子,它將編程過程中需要實(shí)現(xiàn)的功能進(jìn)行歸類,再對某一類功能進(jìn)行開發(fā)后封裝,以第三方庫的形式表現(xiàn)出來。使用者不用關(guān)心它的內(nèi)部邏輯和實(shí)現(xiàn)過程,只需要去尋找、掌握什么樣的庫可以幫助我們實(shí)現(xiàn)具體的功能,然后根據(jù)庫的使用方法直接導(dǎo)入對應(yīng)第三方庫后再調(diào)用即可,常用的第三方庫名和功能如下表所示。庫名功能庫名功能NumPy數(shù)據(jù)分析和計(jì)算基礎(chǔ)庫Flask輕量級Web開發(fā)框架Matplotlib二維數(shù)據(jù)可視化WeRoBot微信機(jī)器人開發(fā)框架PIL圖像處理SymPy數(shù)學(xué)符號計(jì)算工具Scikit-Learn機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘Pandas高效數(shù)據(jù)分析和計(jì)算RequestsHTTP協(xié)議訪問及網(wǎng)絡(luò)爬蟲Networkx復(fù)雜網(wǎng)絡(luò)和圖結(jié)構(gòu)的建模和分析Jieba中文分詞PyQt5基于Qt的專業(yè)級GUI開發(fā)框架BeautifulSoupHTML和XML解析器PyOpenGL多平臺OpenGL開發(fā)接口WheelPython第三方庫文件打包工具docoptPython命令行解析PyInstaller打包Python源文件為可執(zhí)行文件PyGame簡單小游戲開發(fā)框架DjangoPython最流行的Web開發(fā)框架Flask輕量級Web開發(fā)框架2、通過PyCharm安裝第三方庫雙擊桌面“PyCharmCommunityEdition”快捷方式打開項(xiàng)目,單擊“File”——“Settings”,在打開的對話框中單擊“Project:xx”左邊的小箭頭符號(xx是新建的項(xiàng)目名稱)——再單擊“PythonInterpreter”。此時(shí)可以看到已經(jīng)安裝成功的第三方庫以及版本。安裝第三方庫單擊對話框右側(cè)的“+”號,在彈出的“AvailablePackages”對話框中,左上方搜索欄中(放大鏡后)輸入你要安裝的第三方庫名(這里我們以安裝numpy為例),PyCharm會自動(dòng)搜索輸入的庫名,此時(shí)左側(cè)顯示與該庫名類似的第三方庫;右上方顯示當(dāng)前庫的信息和版本號、右下方可以選中復(fù)選框選擇你需要下載的版本(如果不勾選則默認(rèn)為最新版本)如圖1-27所示,最后單擊“InstallPackage”開始自動(dòng)安裝,具體安裝時(shí)間同第三方庫的大小和網(wǎng)絡(luò)速度有關(guān)。安裝結(jié)束后,返回“Settings”,會看到新安裝的第三方庫和安成功提示信息。3、通過pip命令安裝第三方庫首先使用組合鍵“Win+R”打開運(yùn)行窗口,輸入“cmd”,打開命令提示符窗口,在窗口中輸入“piplist”查看已安裝的包,如果出現(xiàn)了WARNING提示,說明pip版本需要更新,只需要將提示信息后的更新命令復(fù)制后粘貼到提示后,回車確認(rèn)即可完成更新。將pip更新以后,使用“pipinstall第三方庫的名”就可以自動(dòng)下載并安裝第三方庫了。如果在命令行末尾看到有“Successfullyinstalled”信息即安裝成功,操作過程如圖1-30所示。最后使用“piplist”命令進(jìn)行安裝驗(yàn)證如下圖所示,如果想要卸載已經(jīng)安裝過的第三方庫使用“pipuninstall庫名”即可卸載。4、注意事項(xiàng)1.某些第三方庫之間是有依賴關(guān)系的,可以使用“pipshow庫名稱”進(jìn)行查看;2.使用pip命令安裝第三方庫,有時(shí)速度較慢,可以在“pipinstall第三方庫名”后加一個(gè)“-i”參數(shù),后面可以指定國內(nèi)的一個(gè)鏡像源,用這個(gè)方法可以更加快速的安裝好第三方庫。(pipinstallnumpy-i/simple)三、總結(jié)通過本次任務(wù)的學(xué)習(xí)和實(shí)踐,我們了解了第三方庫重要的意義、常用第三方庫的名稱和功能、Python官方第三方庫的地址和國內(nèi)鏡像鏈接,掌握了安裝第三方庫的三種方法:能夠獨(dú)立通過PyCharm、pip命令和下載whl文件到本地離線安裝第三方庫,同時(shí)還掌握了第三方庫的查詢、更新和卸載的方法。強(qiáng)大的標(biāo)準(zhǔn)庫奠定了python發(fā)展的基石,而不斷豐富和擴(kuò)展的第三方庫則是python的魅力所在,目前第三方庫已有幾十萬種,很多第三方庫不僅功能強(qiáng)大而且還十分健壯,值得我們借鑒和學(xué)習(xí)。這正如牛頓所說:“如果說我比別人看得更遠(yuǎn)些,那是因?yàn)槲艺驹诹司奕说募缟稀?。作業(yè)布置安裝第三方庫Python-docx、xlrd、xlwt和Python-pptx教學(xué)反思情景一揭秘Python程序設(shè)計(jì)之謎主題人機(jī)交互序號4課時(shí)2教學(xué)手段多媒體、板書、實(shí)訓(xùn)室教學(xué)方法講授法、演示法、案例法教學(xué)課型□理論□實(shí)訓(xùn)√一體化□(其它)教學(xué)目標(biāo)能力目標(biāo):能夠根據(jù)需要?jiǎng)澇隽鞒虉D,并且輸入用戶信息后能夠格式化輸出。知識目標(biāo):了解IPO程序設(shè)計(jì)模式、常用流程圖符號以及代碼注釋的兩種形式。素質(zhì)目標(biāo):接受新知識、自主學(xué)習(xí)的能力。教學(xué)重點(diǎn)根據(jù)要求繪制流程圖,并完成四則運(yùn)算教學(xué)難點(diǎn)格式化輸出教學(xué)過程設(shè)計(jì)備注一、復(fù)習(xí)上一節(jié)上課內(nèi)容并引出本節(jié)上課內(nèi)容人機(jī)交互技術(shù)(Human-ComputerInteractionTechniques)是指通過計(jì)算機(jī)輸入、輸出設(shè)備,以有效的方式實(shí)現(xiàn)人與計(jì)算機(jī)對話的技術(shù)。人機(jī)交互技術(shù)包括機(jī)器通過輸出或顯示設(shè)備給人提供大量有關(guān)信息及提示請示等,人通過輸入設(shè)備給機(jī)器輸入有關(guān)信息,回答問題及提示請示等。人機(jī)交互技術(shù)是計(jì)算機(jī)用戶界面設(shè)計(jì)中的重要內(nèi)容之一。本次任務(wù)需要完成兩個(gè)綜合練習(xí),一是輸入數(shù)字后進(jìn)行四則運(yùn)算(畫出流程圖)、二是輸入用戶信息后格式化輸出(增加注釋)。二、教學(xué)內(nèi)容1、IPO程序設(shè)計(jì)模式程序設(shè)計(jì)的關(guān)鍵是對問題進(jìn)行分析和處理,需要弄清楚問題的輸入數(shù)據(jù)是什么?需要得到什么結(jié)果?重點(diǎn)是如何根據(jù)輸入數(shù)據(jù)獲得輸出結(jié)果,也就是如何對輸入數(shù)據(jù)進(jìn)行處理,獲得最終結(jié)果,這個(gè)處理數(shù)據(jù)的過程,稱之為算法。通常將程序設(shè)計(jì)分為三個(gè)步驟:即輸入數(shù)據(jù)、處理過程(算法)、輸出結(jié)果,稱之為IPO程序設(shè)計(jì)模式。I:(Input)輸入數(shù)據(jù),用到的標(biāo)準(zhǔn)輸入設(shè)備,就是鼠標(biāo)和鍵盤;P:(Process)處理過程(算法),指中央處理器對儲存在內(nèi)存中的數(shù)據(jù)進(jìn)行處理;O:(Output)輸出結(jié)果,通常用到的標(biāo)準(zhǔn)輸出設(shè)備,就是顯示器。比如,用戶在鍵盤上輸入任意兩個(gè)數(shù)字,經(jīng)過求和運(yùn)算,最后把結(jié)果輸出到屏蔽上,就是一個(gè)IPO程序設(shè)計(jì)模式。2、Python流程圖符號流程圖是一種用于表示算法或代碼流程的框圖組合,它以不同類型的框代表不同種類的程序步驟,每兩個(gè)步驟之間以箭頭連接起來。在程序開發(fā)中使用流程圖,有助于規(guī)劃高效的程序結(jié)構(gòu)、便于他人交流同時(shí)也是撰寫指導(dǎo)文檔不可缺少的內(nèi)容。Python常用流程圖符號如下圖所示。3、代碼注釋代碼的注釋是程序設(shè)計(jì)中不可缺少的,良好的注釋可以增加程序的可讀性,也方便程序員后期對代碼進(jìn)行維護(hù)。Python代碼的注釋有兩種形式,一種是單行注釋,一種是多行注釋,首先我們來看一下單行注釋。(1) 單行注釋:以“#”開始,表示本行是注釋行,也就是“#”之后的內(nèi)容是注釋信息,當(dāng)程序執(zhí)行時(shí),這部分內(nèi)容會被忽略。代碼如下所示:#用戶輸入成績score=float(input(“請輸入成績:”))在Pycharm中,可以使用快捷鍵批量添加單行注釋,直接選中要添加注釋的語句,使用組合鍵“Ctrl+/”即可批量注釋多行。但是如果使用Python官方集成開發(fā)環(huán)境,要批量添加多行注釋的話,就要使用第二種注釋方法:三引號。(2) 多行注釋:用三個(gè)單引號“’’’”或者是三個(gè)雙引號“"""”將注釋的內(nèi)容括起來。多行注釋通常用來為Python文件、模塊、類或者函數(shù)等添加版權(quán)、功能描述等信息,代碼如下所示:'''這段程序的功能是:判斷輸入成績是否大于等于60,是則輸出及格。'''score=float(input(“請輸入成績:”))特別說明:在Python中,如果多行注釋(三個(gè)單引號或三個(gè)雙引號)作為語句的一部分出現(xiàn),就不能再將它們視為多行注釋的標(biāo)記,而應(yīng)看做是字符串的標(biāo)志。比如,我們使用三個(gè)單引號將'''Hello,World!'''放在print()輸出函數(shù)中,這個(gè)時(shí)候三個(gè)單引號之內(nèi)的信息就不再是注釋了,而是輸出的字符串。print('''Hello,World!''')語句的執(zhí)行結(jié)果為:“Hello,World!”由此可見,Python解釋器沒有將這里的三個(gè)單引號看做是注釋,而是將它們看作是字符串的標(biāo)志。4、輸入數(shù)字后進(jìn)行四則運(yùn)算現(xiàn)在按任務(wù)要求將流程圖符號進(jìn)行組合連接畫出四則運(yùn)算中的加法流程圖如下圖所示,其余三種運(yùn)算與加法流程圖類似。緊接著,開始程序具體功能的實(shí)現(xiàn)。此時(shí)需要特別注意,在Python3.x中input()函數(shù)默認(rèn)接收到的數(shù)據(jù)為字符串型,如果將兩個(gè)字符串類型相加實(shí)則完成字符串連接的功能,而非真正的相加。所以需要將字符串型轉(zhuǎn)為浮點(diǎn)型后,再進(jìn)行數(shù)值之間的相加,源代碼和運(yùn)行結(jié)果如下圖所示。5、輸入用戶信息后格式化輸出首先完成用戶名、密碼、姓名、性別、年齡等信息的錄入,使用多個(gè)input()來重復(fù)錄入即可,再將錄入后不同的個(gè)人信息分別保存到不同的變量中。在字符串中把需要輸出的變量值用{}來代替,然后用format()來修改使之成為想要的字符串,其中數(shù)字的精度通過在大括號前加冒號,格式為{:.xf},源代碼如下圖所示。執(zhí)行代碼后依次輸入:用戶名、密碼、姓名、性別、年齡和職務(wù),回車確認(rèn)后,格式化輸出結(jié)果如下圖。三、總結(jié)通過本次任務(wù)的學(xué)習(xí)和實(shí)踐,掌握了IPO程序設(shè)計(jì)模式、Python流程圖符號和代碼注釋的兩種方法。并且能夠根據(jù)要求熟練地使用流程圖符號畫出對應(yīng)流程圖、使用input函數(shù)完成各種類型信息的錄入、使用print函數(shù)進(jìn)行格式化輸出。同時(shí)理解了代碼注釋的意義,對于復(fù)雜的操作,操作前應(yīng)該寫上多行注釋、不是一目了然的代碼,應(yīng)在其行尾添加注釋。對于許多程序員來說,基本的原則之一就是“:讓代碼自己說話”。代碼的注釋不僅僅要為將來可能維護(hù)你代碼的人考慮,而且要考慮到讀注釋的可能是你。作業(yè)布置教學(xué)反思Python程序設(shè)計(jì)工作手冊式教材教案專業(yè)名稱:課程名稱:Python程序設(shè)計(jì)任課班級:教師姓名:所屬院系:職稱:課時(shí):64使用教材:

情景二控制程序的結(jié)構(gòu)教學(xué)課題用戶信息的保存序號1課時(shí)2教學(xué)手段多媒體、板書、實(shí)訓(xùn)室教學(xué)方法講授法、演示法、案例法教學(xué)課型□理論□實(shí)訓(xùn)√一體化□(其它)教學(xué)目標(biāo)能力目標(biāo):掌握列表、元組、字典的創(chuàng)建、訪問和操作方法,并能夠根據(jù)實(shí)際情況保存用戶信息。知識目標(biāo):了解常見的數(shù)據(jù)類型。素質(zhì)目標(biāo):接受新知識、自主學(xué)習(xí)的能力。教學(xué)重點(diǎn)IDLE的使用教學(xué)難點(diǎn)Python程序的調(diào)試運(yùn)行教學(xué)過程設(shè)計(jì)備注一、技術(shù)準(zhǔn)備整形:整型就是我們平常所見的整數(shù),它是不帶小數(shù)點(diǎn)的,可以是正整數(shù)或負(fù)整數(shù)。浮點(diǎn)型:平時(shí)所用的帶有小數(shù)的數(shù)。浮點(diǎn)型兩種表現(xiàn)形式:帶小數(shù)和科學(xué)計(jì)數(shù)。布爾型:布爾型表示事物的兩種狀態(tài):真或假(True和False),沒有第三種。分別對應(yīng)整型數(shù)值:1和0。Python中任何空值都視為假,包括:Flase、None、0、[]、()、{}。復(fù)數(shù)型:由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成,虛數(shù)部分必須有小寫的j或大寫的J組成,并且實(shí)部和虛部都是浮點(diǎn)數(shù)。二、教學(xué)內(nèi)容1、列表的創(chuàng)建、訪問和操作方法列表(list)是Python的一種內(nèi)建結(jié)構(gòu)數(shù)據(jù)類型。把所有元素放在一對“[中括號]”內(nèi),以“,”進(jìn)行分隔,同一個(gè)列表中的元素可以是不同的類型。列表是一種可變序列類型,可以進(jìn)行增加、修改、刪除元素等操作。(1)列表的創(chuàng)建>>>x=[1,2,3,4]>>>type(x)<class'list'>>>>y=[1,'a','python',9.9]>>>type(y)<class'list'>(2)列表的訪問使用下標(biāo)索引來訪問列表中的值,從左往右以0開始依次增加,也可以從右往左以-1開始依次減小,如下圖所示。(3)列表的常用操作方法序號方法分類功能描述1列表.append(object)增加在列表的尾部追加元素2列表.insert(index,object)在列表的某個(gè)位置插入一個(gè)元素3列表1.extend(列表2)在列表2擴(kuò)充到列表1后4列表.remove(value)刪除刪除列表中指定的第一個(gè)元素5列表.pop(index)刪除指定索引的元素,省略則指列表尾部6列表.clear()清空列表中的所有元素7列表[index]=object修改修改列表指定索引的元素8列表.index(value)查詢返回某元素在列表中的位置,未找到則報(bào)錯(cuò)9列表.count(value)統(tǒng)計(jì)返回列表中某元素出現(xiàn)的次數(shù)10列表.sort(reverse=False)排序?qū)⒘斜碇械脑啬J(rèn)按升序排序11列表.reverse()將列表中元素的順序顛倒2、元組的創(chuàng)建、訪問和操作方法(1)元組的創(chuàng)建元組是Python的一種內(nèi)建結(jié)構(gòu)數(shù)據(jù)類型。把所有元素放在一對“()”內(nèi),以“,”進(jìn)行分隔,同一個(gè)元組中的元素可以是不同的類型。元組屬于不可變序列,一旦創(chuàng)建,不可以修改、刪除元素操作。首先聲明一個(gè)空列表,可以使用li=[],表示一個(gè)空的列表;同理我們聲明一個(gè)空元組,也可以使用tu=(),表示一個(gè)空的元組。再聲明一個(gè)元組x,元組x包含四個(gè)整數(shù):1,2,3,4,我們可以這樣寫:x=(1,2,3,4)回車,我們輸出x的內(nèi)容看一下結(jié)果。和列表一樣,元組中的元素也可以是不同的類型的。最后再聲明一個(gè)元組y,讓y中包含不同的元素類型,操作代碼如下。>>>li=[]>>>type(li)<class'list'>>>>tu=()>>>type(tu)<class'tuple'>>>>x=(1,2,3,4)>>>type(x)<class'tuple'>>>>y=(1,'a','python',9.9)>>>type(y)<class'tuple'>(2)訪問元組中的值同列表一樣,使用下標(biāo)索引來訪元組中的值,從左往右以0開始依次增加,也可以從右往左以-1開始依次減小。(3)元組的操作方法元組只有兩個(gè)操作方式,分別是index和count。序號方法功能描述1tuple.index(value,[start[,stop]])返回某元素在元組中的位置2tuple.count(value)返回元組中某元素出現(xiàn)的次數(shù)3、字典的創(chuàng)建、訪問和操作方法(1)字典的創(chuàng)建字典是Python的一種內(nèi)建結(jié)構(gòu)數(shù)據(jù)類型。每個(gè)元素都是:“鍵:值”對形式存在。用“{}”將所有元素括起來,各元素之間用“,”進(jìn)行分隔。字典與列表和元組主要的不是同:字典是無序的,其元素的訪問通過“鍵”實(shí)現(xiàn),而不是通過元素的位置,并且要求字典中”鍵”不能重復(fù)。>>>d1={}>>>type(d1)<class'dict'>>>>d2={'python':1,'c':2,'java':3}>>>type(d2)<class'dict'>(2)訪問字典中的值在列表的學(xué)習(xí)中,掌握了列表是通過下標(biāo)索引進(jìn)行訪問,那字典的訪問形式和列表一下嗎?我們使用之前聲明的字典d3,嘗試訪問第一個(gè)元素,在集成環(huán)境中輸入d3[0]回車,返回錯(cuò)誤信息,說明字典不支持下標(biāo)索引的方式來訪問。訪問字典中的值是通過“鍵”來訪問的,并且鍵是不變的。(3)字典的操作方法序號方法功能描述1dict.clear()清空字典2dict.copy()復(fù)制字典3dict.get(k,[default])獲得k(鍵)對應(yīng)的值,不存在不報(bào)錯(cuò)4dict.items()獲得由鍵和值組成元組做為元素的列表5dict.keys()獲得鍵的迭代器6dict.pop(k[,d])刪除k(鍵)對應(yīng)的”鍵:值”對7dict.update(adict)從另一個(gè)字典更新字典元素的值,如不存在,則添加此元素8dict.values()獲得值的迭代器9dict.fromkeys(iter,value)以列表或元組中給定的鍵建立字典,默認(rèn)值為value4、用戶信息的保存三、總結(jié)通過本次任務(wù)的學(xué)習(xí)和實(shí)踐,使我們熟悉了Python常用數(shù)據(jù)類型和內(nèi)建結(jié)構(gòu)數(shù)據(jù)類型,并且能夠熟練地掌握列表、元組、字典的創(chuàng)建、訪問和常用操作方法的實(shí)踐操作。要保存多個(gè)用戶的不同個(gè)人信息,可以首先建立一個(gè)空的列表備用,再逐一將不同用戶的詳細(xì)信息收集起來以鍵值對的方式保存到字典當(dāng)中,最后使用列表append方法將字典追加到列表中保存即可。當(dāng)然,上述方法是暫時(shí)的,待同學(xué)們學(xué)習(xí)了文件或數(shù)據(jù)庫的操作以后,建議將重要信息保存到文件或數(shù)據(jù)庫中。作業(yè)布置編寫程序完成用戶信息的保存教學(xué)反思同學(xué)們要強(qiáng)化個(gè)人信息自我保護(hù)意識,在生活、學(xué)習(xí)中養(yǎng)成保護(hù)個(gè)人信息的習(xí)慣。比如在向他人提供身份證等重要證件的復(fù)印件時(shí),最好顯著標(biāo)識此復(fù)印件的用途;一些帶有個(gè)人敏感信息的電子數(shù)據(jù),如證件照片等,建議用完即刪或者采用加密方式進(jìn)行存儲;快遞單據(jù)涂抹掉關(guān)鍵信息后再丟棄等。情景二控制程序的結(jié)構(gòu)主題流程控制序號2課時(shí)2教學(xué)手段多媒體、板書、實(shí)訓(xùn)室教學(xué)方法講授法、演示法、案例法教學(xué)課型□理論□實(shí)訓(xùn)√一體化□(其它)教學(xué)目標(biāo)能力目標(biāo):能夠根據(jù)實(shí)際需求熟練使用分支和循環(huán)語句完成程序編寫。知識目標(biāo):理解順序結(jié)構(gòu)程序設(shè)計(jì)、代碼的縮進(jìn)的層次結(jié)構(gòu)和、四種分支語句和循環(huán)語句。素質(zhì)目標(biāo):接受新知識、自主學(xué)習(xí)的能力。教學(xué)重點(diǎn)分支和循環(huán)語句教學(xué)難點(diǎn)分支和循環(huán)語句的嵌套教學(xué)過程設(shè)計(jì)備注一、復(fù)習(xí)上一節(jié)上課內(nèi)容并引出本節(jié)上課內(nèi)容在編寫程序過程中,如果需要根據(jù)用戶的輸入,靈活的調(diào)整哪些語句執(zhí)行,哪些語句不執(zhí)行又該怎么辦呢?此時(shí)分支語句就非常重要了;然而有些問題僅僅通過分支條件語句還不能解決;有時(shí)為解決一個(gè)問題常常需要重復(fù)執(zhí)行一個(gè)或多個(gè)操作,這該怎么辦呢?這時(shí)就需要使用循環(huán)語句了。二、教學(xué)內(nèi)容1、分支結(jié)構(gòu)程序設(shè)計(jì)(1)單分支語句if表達(dá)式:語句塊當(dāng)表達(dá)式的值為True或者其它等價(jià)值時(shí)(非空非零),表示條件滿足,則語句塊將被執(zhí)行,否則該語句塊不被執(zhí)行。表達(dá)式后用英文的冒號(:)結(jié)束,回車換行Python會自動(dòng)縮進(jìn)四個(gè)空格。接下來我們看一下實(shí)例,從鍵盤輸入成績,如果成績大于等于60分則顯示及格。score=float(input("請輸入成績:"))ifscore>=60:print("及格")單分支語句,只有一個(gè)if,當(dāng)條件滿足時(shí),只能得到一個(gè)結(jié)果;如果想根據(jù)輸入成績的不同,返回不同的結(jié)果,我們就要使用雙分支語句了。(2)雙分支語句if表達(dá)式:語句塊Aelse:語句塊B當(dāng)表達(dá)式的值為True或者其它等價(jià)值時(shí)(非空非零),執(zhí)行語句塊A,否則執(zhí)行語句塊B。也就是說:雙分支語句執(zhí)行時(shí),只會選擇一個(gè)分支執(zhí)行。拓展單分支語句的功能,如果輸入成績大于等于60分則顯示及格,否則顯示不及格。score=float(input("請輸入成績:"))ifscore>=60:print("及格")else:print("不及格")如果有兩個(gè)以上的條件,我們就要使用多分支語句了。(3)多分支語句語句格式if表達(dá)式A: 語句塊Aelif表達(dá)式B: 語句塊Belif表達(dá)式C: 語句塊C ……else:語句塊N語句執(zhí)行說明首先計(jì)算表達(dá)式A,如果其值為True或者非空非零,則執(zhí)行語句塊A;否則計(jì)算表達(dá)式B,如果其值為True或者非空非零,則執(zhí)行語句塊B;否則計(jì)算表達(dá)式C,如果其值為True或者或者非空非零,則執(zhí)行語句塊C;以此類推,如果所有表達(dá)式計(jì)算的結(jié)果都為False(空值/0),則執(zhí)行else后的語句塊N。使用多分支語句將不同分?jǐn)?shù)段分別對應(yīng)五個(gè)不同的等級。如果輸入成績是90分及以上為優(yōu)秀,80-89分為良好,70-79為中,60-69及格,60分以下為不及格。拓展單分支語句的功能,如果輸入成績大于等于60分則顯示及格,否則顯示不及格。score=float(input("請輸入成績:"))ifscore>=90:print("優(yōu)秀")elifscore>=80:print("良好")elifscore>=70:print("中")elifscore>=60:print("及格")else:print("不及格")(4)分支嵌套語句嵌套就是一種包含關(guān)系,當(dāng)外層的分支條件成立的情況下,再執(zhí)行內(nèi)層的分支條件,分支語句嵌套的格式如下圖所示。首先計(jì)算表達(dá)式A,如果其值為True或者非空非零,則計(jì)算表達(dá)式B,如果其值為True或者非空非零,則執(zhí)行語句塊B,否則執(zhí)行語句塊C;如果表達(dá)式A計(jì)算的結(jié)果都為False(空值/0),則執(zhí)行語句塊D。使用分支嵌套語句來實(shí)現(xiàn)分?jǐn)?shù)是90分及以上的,則顯示優(yōu)秀;如果大于等于60分,顯示為合格;小于60分則顯示不合格。score=float(input("請輸入成績:"))ifscore>=60:ifscore>=90:print("優(yōu)秀")else:print("及格")else:print("不及格")2、循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(1)while循環(huán)語句的格式while表達(dá)式:語句塊while循環(huán)語句可以解決程序中需要重復(fù)執(zhí)行的操作,其循環(huán)執(zhí)行的次數(shù)由循環(huán)條件決定,當(dāng)循環(huán)條件滿足時(shí),重復(fù)執(zhí)行某程序段,直到循環(huán)條件不成立為止。反復(fù)執(zhí)行的程序段稱為循環(huán)體,循環(huán)條件必須要在循環(huán)體中改變,否則可能會出現(xiàn)無限循環(huán)的結(jié)果。Python是區(qū)分大小寫的,所以我們在寫while的時(shí)候,注意都是小寫字母,否則會出現(xiàn)語法錯(cuò)誤。while循環(huán)語句首先計(jì)算表達(dá)式的值,如果表達(dá)式的值為True(非空/非0),則執(zhí)行語句塊,執(zhí)行完后,再一次計(jì)算表達(dá)式的值,如果表達(dá)式的值仍然為True(非空/非0),則繼續(xù)執(zhí)行語句塊;如果表達(dá)式的值為False(空/0),則結(jié)束while循環(huán)語句,語句執(zhí)行流程如下圖所示。實(shí)踐案例1:任意輸入一個(gè)正整數(shù),求出1到該數(shù)的和,參考代碼如下。#求1+2+……+n的和n=int(input("請輸入求和的終止值:"))#初始化count=1sum=0#while循環(huán)求和并計(jì)數(shù)whilecount<=n:sum=sum+countcount=count+1#輸出結(jié)果print("1+2+……+%d=%d"%(n,sum))舉一反三:while循環(huán)語句打印九九乘法表。(2)for循環(huán)語句for<取值>in<序列或迭代對象>:語句塊Aelse:語句塊Bfor循環(huán)語句執(zhí)行步驟:①從序列或迭代對象中依次取一個(gè)值;②執(zhí)行語句塊A;③不斷重復(fù)①和②,直到序列或迭代對象全部取完。如果有else部分,則執(zhí)行else語句塊B,執(zhí)行完畢,結(jié)束for循環(huán),執(zhí)行for之后的語句;如果沒有else部分,則結(jié)束for循環(huán),執(zhí)行其后的語句。for循環(huán)中的range()函數(shù)參數(shù)說明:range(start,stop[,step])start:計(jì)數(shù)從start開始,默認(rèn)從0開始;例如:range(5)等價(jià)于range(0,5)stop:計(jì)數(shù)到stop結(jié)束,但不包括stop;例如:range(0,5)是[0,1,2,3,4]沒有5;step:步長,默認(rèn)為1。例如:range(0,5)等價(jià)于range(0,5,1)如果有兩個(gè)以上的條件,我們就要使用多分支語句了。實(shí)踐案例2:for循環(huán)語句打印星號矩陣圖,參考代碼如下。#for循環(huán)語句打印星號矩陣圖foriinrange(1,5):

forjinrange(1,6):

print('*',end='\t')

print()以上代碼的運(yùn)行結(jié)果是輸出一個(gè)四行五列的星號矩陣圖。* * * * * * * * * * * * * * * * * * * * 舉一反三:for循環(huán)語句打印九九乘法表三、總結(jié)通過本次任務(wù)的學(xué)習(xí)和實(shí)踐,使我們熟悉了四種分支語句、兩種循環(huán)語句的使用格式和注意事項(xiàng),并且能夠熟練地使用流程控制語句來完成相應(yīng)功能的開發(fā)。在通常情況下,分支語句只會執(zhí)行其中的一個(gè)分支,當(dāng)表達(dá)式的值為真時(shí),執(zhí)行該分支語句塊,并且該語句塊后的代碼不再執(zhí)行,跳出多分支語句,執(zhí)行多分支語句后面的代碼。而循環(huán)語句要特別注意,循環(huán)條件要能使循環(huán)最后結(jié)束,否則程序會一直運(yùn)行下去,進(jìn)入無限循環(huán)。當(dāng)然,無限循環(huán)在日常生活中也是有需要的,比如堅(jiān)強(qiáng)體育鍛煉,讓我們在享受體育樂趣的同時(shí)增強(qiáng)體質(zhì)、錘煉意志,從而養(yǎng)成終身運(yùn)動(dòng)、終身學(xué)習(xí)的好習(xí)慣。作業(yè)布置for循環(huán)語句打印九九乘法表教學(xué)反思情景二控制程序的結(jié)構(gòu)主題有趣的隨機(jī)數(shù)序號3課時(shí)2教學(xué)手段多媒體、板書、實(shí)訓(xùn)室教學(xué)方法講授法、演示法、案例法教學(xué)課型□理論□實(shí)訓(xùn)√一體化□(其它)教學(xué)目標(biāo)能力目標(biāo):熟練掌握導(dǎo)入模塊的三種方式。知識目標(biāo):了解模塊的功能和常用的模塊。素質(zhì)目標(biāo):接受新知識、自主學(xué)習(xí)的能力。教學(xué)重點(diǎn)導(dǎo)入模塊的三種方式教學(xué)難點(diǎn)常用模塊相關(guān)屬性教學(xué)過程設(shè)計(jì)備注一、引出本節(jié)上課內(nèi)容在程序開發(fā)過程中,通常都是由多名程序員分工協(xié)作一起完成程序的開發(fā);Python在安裝后就已經(jīng)有了內(nèi)置模板,并且還可以使用功能豐富的第三方開源模塊,這使用編寫代碼不必從零開始,大大提高了代碼的開發(fā)周期提高效率。二、教學(xué)內(nèi)容1、導(dǎo)入模塊Python中提供了以下三種方式導(dǎo)入模塊:import模塊名import模塊名as模塊別名from模塊名import函數(shù)名/子模塊名/屬性在安裝Python時(shí)就默認(rèn)已經(jīng)安裝好的模塊被稱為“標(biāo)準(zhǔn)庫”,也稱為內(nèi)建庫,比如math模塊。有人把它們稱為Python自帶的電池,意思是Python擁有無限能量。熟悉標(biāo)準(zhǔn)庫的使用是編程必須的。math模塊中有大量常用的數(shù)學(xué)計(jì)算函數(shù),如三角函數(shù)(sin(),cos(),tan())、反三角函數(shù)(asin(),acos(),atan())、對數(shù)函數(shù)(log(),log10(),log2())等,還有數(shù)學(xué)常量如pi(圓周率)、e等??梢杂胐ir(math)查看math模塊中的函數(shù)(方法)與常量(屬性)。Python自帶的模塊或者是第三方庫,在安裝時(shí),系統(tǒng)自動(dòng)將模塊的存放路徑記錄在sys.path列表中。那么自己編寫的模塊,如何能讓解釋器知道路徑呢?其實(shí)有兩種方法。第一種方法是在sys.path列表里添加自己所寫模塊的路徑;第二條方法是設(shè)置系統(tǒng)的環(huán)境變量,使其包含模塊的路徑。importsys #導(dǎo)入sys模塊sys.path.append('d:\\py') #sys.path列表里追加.py文件的路徑d:\\pyimportdemo #導(dǎo)入demo.py模塊demo.myfunction(5) #文件名.函數(shù)名(參數(shù))Python中的random模塊用于生成隨機(jī)數(shù),它提供了很多函數(shù)。random.random()#用于生成一個(gè)0到1的隨機(jī)浮點(diǎn)數(shù):0<=n<1.0random.randint(a,b)#返回a,b之間的整數(shù),注意:a,b均是整數(shù),且a要比b小random.randrange([start=0],stop[,step=1]) #只能傳入整數(shù),且不包括stoprandom.choice(sequence) #從sequence(序列,列表、元組和字符串)中隨機(jī)獲取一個(gè)元素random.shuffle(x) #用于將列表中的元素打亂順序random.sample(sequence,k) #從指定序列中隨機(jī)獲取k個(gè)不重復(fù)元素作為一個(gè)列表返回,sample函數(shù)不會修改原有序列。2、常用模塊datetime模塊定義了以下幾個(gè)類,來處理時(shí)間和日期。(1)datetime.date:表示日期的類。常用的屬性有year,month,day;(2)datetime.time:表示時(shí)間的類。常用的屬性有hour,minute,second,microsecond;(3)datetime.datetime:表示日期和時(shí)間的類;(4)datetime.timedelta:表示時(shí)間間隔,即兩個(gè)時(shí)間點(diǎn)之間的長度。calendar模塊是一個(gè)日歷模塊,用于生成日歷等。3、猜數(shù)字游戲(1)首先:導(dǎo)入隨機(jī)模塊importrandom(2)再將:姓名存入列表names=['張三','李四','王五','趙六','孫七','周八','吳九','鄭十'](3)最后:使用流程控制語句實(shí)現(xiàn)隨機(jī)點(diǎn)名使用while循環(huán)語句創(chuàng)建一個(gè)無限循環(huán),在循環(huán)體中讓用戶選擇是點(diǎn)名還是退出。當(dāng)用戶輸入大寫或小寫的N時(shí),使用break語句退出循環(huán)結(jié)束程序;當(dāng)用戶輸入其它鍵時(shí),使用隨機(jī)模塊.函數(shù)()輸出隨機(jī)點(diǎn)名姓名,參考代碼如下:importrandomn=random.randint(0,100)foriinrange(5):temp=int(input("請輸入你猜的整數(shù):"))iftemp==n:print('恭喜你,猜中了!')eliftemp>n:print('猜大了')else:print('猜小了')else:print('游戲結(jié)束!')print('你要猜的整數(shù)是:{}'.format(n))>>>y=[1,'a','python',9.9]>>>type(y)<class'list'>三、總結(jié)通過本次任務(wù)的學(xué)習(xí)和實(shí)踐,了解了什么是模塊以及導(dǎo)入和使用模塊的方法,掌握了break和continue語句的區(qū)別,并且能夠熟練地根據(jù)相關(guān)要求選擇該模塊合適的函數(shù)來解決實(shí)際問題。內(nèi)置模塊可以極大地提升程序開發(fā)的效率;自定義模塊將程序的各部分組件共用的功能提取出來放到一個(gè)模塊中,其它組件通過導(dǎo)入的方式使用該模塊,從而提高代碼的重用性、易于功能擴(kuò)展和維、有利于團(tuán)隊(duì)協(xié)作。作業(yè)布置編寫程序?qū)崿F(xiàn)搶紅包功能教學(xué)反思情景二控制程序的結(jié)構(gòu)主題學(xué)生信息管理系統(tǒng)序號4課時(shí)2教學(xué)手段多媒體、板書、實(shí)訓(xùn)室教學(xué)方法講授法、演示法、案例法教學(xué)課型□理論□實(shí)訓(xùn)√一體化□(其它)教學(xué)目標(biāo)能力目標(biāo):能夠使用for循環(huán)和if分支語句結(jié)合起來實(shí)現(xiàn)學(xué)生信息的實(shí)現(xiàn)顯示、增加、刪除、修改、查詢學(xué)生信息和退出管理系統(tǒng)六個(gè)模塊相應(yīng)功能。知識目標(biāo):了解簡易系統(tǒng)的開發(fā)過程。素質(zhì)目標(biāo):接受新知識、自主學(xué)習(xí)的能力。教學(xué)重點(diǎn)for與else,for與if語句配合使用教學(xué)難點(diǎn)教學(xué)過程設(shè)計(jì)備注一、引出本節(jié)上課內(nèi)容編寫一款面向過程簡易學(xué)生信息管理系統(tǒng),學(xué)生信息管理包括:顯示學(xué)生信息、增加學(xué)生信息、刪除學(xué)生信息、修改學(xué)生信息、查詢學(xué)生信息和退出管理系統(tǒng)共六個(gè)功能選項(xiàng)。要求:每個(gè)選項(xiàng)之間可以來回自由地切換,根據(jù)用戶的不同選擇分別實(shí)現(xiàn)顯示、增加、刪除、修改、查詢學(xué)生信息和退出管理系統(tǒng)六個(gè)模塊相應(yīng)功能。二、教學(xué)內(nèi)容1、需求分析學(xué)生信息管理系統(tǒng)包括:顯示、增加、刪除、修改、查詢和退出共六個(gè)功能選項(xiàng)。每個(gè)選項(xiàng)之間可以自由切換;每個(gè)選項(xiàng)獨(dú)立完成如下功能。1.顯示學(xué)生信息:是輸出所有學(xué)生的相關(guān)信息,使用for循環(huán)遍歷輸出所有學(xué)生的信息即可;2.增加學(xué)生信息:可以將學(xué)生記錄保存到列表當(dāng)中,再使用append方法向列表尾部追加記錄;3.查詢學(xué)生信息:使用for循環(huán)遍歷學(xué)生信息,再用if分支語句進(jìn)行查詢匹配,找到了則直接輸入學(xué)生的相關(guān)信息,沒有找到則輸出查無此人;4.修改學(xué)生信息:首先進(jìn)行查詢,如果有匹配,則更新當(dāng)前學(xué)生的信息;沒有找到則輸出查無此人;5.刪除學(xué)生信息:首先進(jìn)行查詢,如果有匹配的學(xué)生記錄,使用remove方法將其刪除;沒有找到則輸出查無此人;6.退出管理系統(tǒng):直接退出學(xué)生信息管理系統(tǒng)。2、重要知識點(diǎn)1.顯示學(xué)生信息:while循環(huán)語句、if分支語句、for循環(huán)語句、range()函數(shù)、list[]列表、print()函數(shù);2.增加學(xué)生信息:if分支語句、input()函數(shù)、dict{}字典、append方法、print()函數(shù);3.查詢學(xué)生信息:if分支語句、input()函數(shù)、for循環(huán)和else語句、list[]列表、print()函數(shù)、break語句;4.修改學(xué)生信息:if分支語句、input()函數(shù)、for循環(huán)和else語句、list[]列表、print()函數(shù)、break語句;5.刪除學(xué)生信息:if分支語句、input()函數(shù)、for循環(huán)和else語句、remove方法、print()函數(shù)、break語句;6.退出學(xué)生信息:if分支語句、break語句。3、程序開發(fā)過程(1)操作選項(xiàng)顯示以使用多條print()語句逐一輸出上述每一行的內(nèi)容;推薦將上述內(nèi)容定義為多行字符串,(使用三個(gè)成對的單引號或者三個(gè)成對的雙引號)以所見即所得的方式直接輸出,參考代碼如下。#學(xué)生信息管理系統(tǒng)操作選項(xiàng)infor='''學(xué)生信息管理系統(tǒng)v1.0******************************** 1.顯示學(xué)生信息 2.增加學(xué)生信息 3.查詢學(xué)生信息 4.修改學(xué)生信息 5.刪除學(xué)生信息 0.退出管理系統(tǒng)********************************'''print(infor)(2)顯示學(xué)生信息當(dāng)前學(xué)生信息系統(tǒng)中沒有存儲任何內(nèi)容,如果要顯示學(xué)生信息,那么需要在程序代碼中手動(dòng)添加學(xué)生的信息。為了便于實(shí)現(xiàn)每個(gè)模塊的具體功能,我們新建列表students來保存所有學(xué)生的信息,每個(gè)學(xué)生的信息以鍵值對的方式存儲在字典中,有幾個(gè)學(xué)生就有幾個(gè)字典,各字典間之用逗號分隔,參考代碼如下。students=[

{'stid':101,'stname':'張三','stage':18,'stgender':'male'},

{'stid':102,'stname':'李四','stage':19,'stgender':'female'},

{'stid':103,'stname':'王五','stage':20,'stgender':'male'}

]實(shí)現(xiàn)每個(gè)選項(xiàng)之間來回自由切換,肯定需要用到循環(huán),在不知道循環(huán)次數(shù)的條件下,推薦使用while循環(huán),并且將while循環(huán)條件設(shè)置為True(無限循環(huán));再使用input()函數(shù)錄入用戶的操作序號;最后使用if多分支語句根據(jù)用戶不同的選擇,運(yùn)行不同的模塊,實(shí)現(xiàn)不同的功能,主循環(huán)參考代碼如下。whileTrue:action=int(input('請輸入你要操作的序號:'))ifaction==1: #顯示學(xué)生信息 #顯示學(xué)生信息模塊elifaction==2: #增加學(xué)生信息 #增加學(xué)生信息模塊elifaction==3: #查詢學(xué)生信息 #查詢學(xué)生信息模塊elifaction==4: #修改學(xué)生信息 #修改學(xué)生信息模塊elifaction==5: #刪除學(xué)生信息 #刪除學(xué)生信息模塊elifaction==0: #退出管理系統(tǒng) #退出管理系統(tǒng)模塊else:print()print('你輸入的序號有誤,請重新輸入!')至此,顯示學(xué)生信息的所有條件都已具備,現(xiàn)在即可使用for循環(huán)遍歷輸出students列表中的所有學(xué)生的信息,參加代碼如下。ifaction==1: #顯示學(xué)生信息foriinrange(len(students)):print(students[i])print('顯示學(xué)生信息成功')print()(3)增加學(xué)生信息現(xiàn)在students列表中保存有三條學(xué)生記錄,需要增加學(xué)生記錄的話,首先使用多條input()函數(shù)讓用戶逐一添加學(xué)生的學(xué)號、姓名、年齡和性別;將剛才用戶錄入的所有學(xué)生信息以鍵值對的方式保存到一個(gè)臨時(shí)字典中;最后使用append方法將臨時(shí)字典追加到students列表中保存,參考代碼如下。elifaction==2: #增加學(xué)生信息a=input('請輸入學(xué)生的學(xué)號:')b=input('請輸入學(xué)生的姓名:')c=input('請輸入學(xué)生的年齡:')d=input('請輸入學(xué)生的性別:')temp={'stid':a,'stname':b,'stage':c,'stgender':d}students.append(temp)print('增加學(xué)生信息成功!')print()(4)查詢學(xué)生信息查詢學(xué)生信息模塊中,首先使用input()函數(shù)讓用請輸入需要查詢的學(xué)生姓名(或?qū)W號);使用for循環(huán)語句將students列表中保存的信息讀取后逐一賦值給臨時(shí)變量i;最后使用if分支語句對用戶查詢的姓名和臨時(shí)變量i中讀取到的姓名進(jìn)行比較,如果找到了則輸出當(dāng)前學(xué)生的所有信息并退出循環(huán);如果沒有找到則查詢查無此人,參考代碼如下。elifaction==3: #查詢學(xué)生信息x=input('請輸入你要查詢的學(xué)生姓名:')foriinstudents:ifi['stname']==x:print(i)print('查詢學(xué)生信息成功')breakelse:print('查無此人!')print()(5)修改學(xué)生信息將查詢模塊和增加模塊的功能結(jié)合起來即可實(shí)現(xiàn)修改學(xué)生信息模塊。首先是查詢學(xué)生信息,如果找到了則直接把修改后的學(xué)生信息保存即可并退出循環(huán);如果沒有找到則輸出查無此人,參考代碼如下。elifaction==4: #修改學(xué)生信息x=input('請輸入你要修改的學(xué)生姓名:')foriinstudents:ifi['stname']==x:i['stid']=input('請輸入新的學(xué)號:')i['stname']=input('請輸入新的的姓名:')i['stage']=input('請輸入新的的年齡:')i['stgender']=input('請輸入新的的性別:')print(i)print('修改學(xué)生信息成功!')breakelse:print('你輸入的學(xué)生未找到!')print()(6)刪除學(xué)生信息首先要進(jìn)行查詢,如果有匹配的學(xué)生記錄,使用remove方法將其刪除并使用break語句退出循環(huán);如果沒有找到則輸出查無此人,參考代碼如下。elifaction==5: #刪除學(xué)生信息x=input('請輸入你要?jiǎng)h除的學(xué)生姓名:')foriinstudents:ifi['stname']==x:students.remove(i)print('刪除學(xué)生信息成功')breakelse:print('你輸入的學(xué)生未找到!')print()(7)退出學(xué)生信息管理系統(tǒng)在整個(gè)學(xué)生信息管理系統(tǒng)六個(gè)功能模塊中,退出模塊是最簡單的,只需要使用break語句退出while無限循環(huán)即可,參考代碼如下。ifaction==0:print()三、總結(jié)通過本次任務(wù)的學(xué)習(xí)和實(shí)踐,了解了簡易學(xué)生信息管理系統(tǒng)的開發(fā)過程,熟練地掌握和使用流程控制語句對不同數(shù)據(jù)類型進(jìn)行存儲、追加、查詢、修改和刪除等常見操作方法;激發(fā)同學(xué)們的學(xué)習(xí)興趣、提升實(shí)踐操作水平,讓同學(xué)們更快、更好地掌握Python語言的基礎(chǔ)知識點(diǎn)。當(dāng)然本次任務(wù)是面向過程的開發(fā),待學(xué)習(xí)了項(xiàng)目三之后,可以將面向過程的學(xué)生信息管理系統(tǒng)升級為面向?qū)ο蟮膶W(xué)生信息管理系統(tǒng)。作業(yè)布置優(yōu)化學(xué)生信息管理系統(tǒng)教學(xué)反思Python程序設(shè)計(jì)工作手冊式教材教案專業(yè)名稱:課程名稱:Python程序設(shè)計(jì)任課班級:教師姓名:所屬院系:職稱:課時(shí):64使用教材:

情景三優(yōu)化程序的性能教學(xué)課題函數(shù)序號1課時(shí)2教學(xué)手段多媒體、板書、實(shí)訓(xùn)室教學(xué)方法講授法、演示法、案例法教學(xué)課型□理論□實(shí)訓(xùn)√一體化□(其它)教學(xué)目標(biāo)能力目標(biāo):能夠根據(jù)實(shí)際需求編寫自定義函數(shù),并通過調(diào)用該函數(shù)實(shí)現(xiàn)具體功能。知識目標(biāo):了解函數(shù)的功能和特點(diǎn)、函數(shù)參數(shù)及調(diào)用方法。素質(zhì)目標(biāo):接受新知識、自主學(xué)習(xí)的能力。教學(xué)重點(diǎn)編寫自定義函數(shù)教學(xué)難點(diǎn)函數(shù)參數(shù)教學(xué)過程設(shè)計(jì)備注一、復(fù)習(xí)上一節(jié)上課內(nèi)容并引出本節(jié)上課內(nèi)容在上一節(jié)中我們已經(jīng)學(xué)習(xí)學(xué)生信息管理系統(tǒng),掌握了使用流程控制語句對不同數(shù)據(jù)類型進(jìn)行存儲、追加、查詢、修改和刪除等常見操作。但是同學(xué)們發(fā)現(xiàn)了嗎?很多操作過程的代碼非常類似,我們完成可能將這些類似的代碼定義在一個(gè)函數(shù)中,需要使用的時(shí)候直接調(diào)用就可以了,既減小程序的長度,同時(shí)又提高代碼可重用性。二、教學(xué)內(nèi)容1、函數(shù)的定義在實(shí)際開發(fā)中,如果想把一段功能獨(dú)立的代碼進(jìn)行封裝,我們就可以在這段代碼的上方,先寫上def關(guān)鍵字(def這個(gè)關(guān)鍵字是英文單詞define的縮寫,它的中文含義就是定義),def之后先空格,然后再給你這段代碼取個(gè)名字。在這里,友情提示一下,我們函數(shù)是對功能的封裝,取的這個(gè)名字,最好能表達(dá)函數(shù)所要實(shí)現(xiàn)的功能,這樣更加方便記憶和調(diào)用,所以函數(shù)名最好是能見名知意。函數(shù)名的后邊緊跟的是一對小括號或者叫圓括號,圓括號的后面再緊跟一個(gè)重要的冒號。這一行,稱為函數(shù)頭部的定義,函數(shù)頭部定義的四個(gè)元素的順序一定要記牢:首先是關(guān)鍵字def,然后空格再是函數(shù)名,函數(shù)名后緊跟一對圓括號,圓括后緊跟一個(gè)冒號。冒號后一定要換行縮進(jìn)再定義函數(shù)體。函數(shù)體內(nèi)就是我們要封裝的函數(shù)功能代碼。注意函數(shù)體內(nèi)的代碼都要以關(guān)鍵字def為參照進(jìn)行縮進(jìn)。這就是函數(shù)定義的語法格式,一句話講:函數(shù)的定義分為函數(shù)頭部的定義和函數(shù)體的定義。2、函數(shù)調(diào)用函數(shù)的定義實(shí)現(xiàn)了函數(shù)的功能,函數(shù)定義好了,我們需要的這種特殊的積木也就造好了。如果不用放在哪也就只是擺設(shè),怎么將其用起來,堆砌自己的Python程序呢?那就是我們要介紹的第二個(gè)問題,即函數(shù)調(diào)用。函數(shù)調(diào)用很簡單,通過函數(shù)名和它后邊那對圓括號,便可完成,后邊那對圓括號叫形參表。我們先來看一個(gè)簡單的案例:假如,我們要編寫一個(gè)say_hello的函數(shù),封裝三行打招呼的代碼,并在函數(shù)下方調(diào)用打招呼的代碼。首先,我們寫上關(guān)鍵字def,然后空格寫上函數(shù)名say_hello,say_hello后面緊跟一對圓括號,圓括號后緊跟一個(gè)冒號,這就是函數(shù)頭部定義的四要素,代碼如下所示。defsay_hello():print("Hello!")print("Howareyou!")print("Goodmorning!")3、形參形參是指定義函數(shù)時(shí),圓括號中的參數(shù),形參是用來接收實(shí)參的值的,它只能在函數(shù)內(nèi)部作為變量使用。在定義函數(shù)頭部時(shí),圓括號中便可以列舉出需要用到的形參的名稱,多個(gè)形參之間用逗號分隔。例如,定義一個(gè)求兩數(shù)之和的函數(shù),代碼可以編寫為:defsum(num1,num2):result=num1+num2print(result)形參的作用有兩個(gè):一是告訴外部把值傳到我這里來,二是在函數(shù)內(nèi)部當(dāng)作變量運(yùn)算。4、實(shí)參實(shí)參是指調(diào)用函數(shù)時(shí),圓括號中的參數(shù),實(shí)參用來存放數(shù)據(jù)并將數(shù)據(jù)傳遞給形參。在程序中一般把需要傳遞給函數(shù)的數(shù)據(jù)依次列舉在實(shí)參表里,以逗號隔開。剛才定義的求和的sum()函數(shù)調(diào)用時(shí),如果是將12和5兩數(shù)求和,可以將被加數(shù)12和加數(shù)5的值寫進(jìn)實(shí)參表,形式為:sum(12,5)。實(shí)參的作用只有一個(gè):把數(shù)據(jù)傳遞給形參,代碼如下。sum(12,5)5、變量的作用域變量的作用域就是變量在什么范圍內(nèi)起作用,一個(gè)變量在不同的位置,它的作用域也是不一樣的。定義在函數(shù)外部的變量稱為全局變量,全局變量的作用域是整個(gè)全局。局部變量是在函數(shù)的內(nèi)部定義,只能在其聲明的函數(shù)內(nèi)部使用。接下來,我們一起來討論一個(gè)小問題:全局變量和局部變量的名字可以相同嗎?如果它們的名字都是一樣的,那是先找全局變量還是局部變量呢?我們還是用一個(gè)案例來解答,參考代碼如下。deftestvar():n=1returnn=0print('調(diào)用前{}'.format(n))testvar()print('調(diào)用后{}'.format(n))上述代碼運(yùn)行后,輸出的兩次結(jié)果都是0。這是因?yàn)楫?dāng)函數(shù)中的局部變量和全局變量同名時(shí),它們的作用域不同,實(shí)則這兩個(gè)變量為不同的對象。6、編寫函數(shù)求圓的面積在掌握了函數(shù)的定義、調(diào)用、參數(shù)、變量作用域和返回值后,現(xiàn)在著手編寫一個(gè)函數(shù)實(shí)現(xiàn)隨機(jī)輸入三個(gè)圓半徑,分別求出三個(gè)圓的面積。題目雖然比較簡單,但是編寫函數(shù)求圓的面積可以讓我們學(xué)以致用、融會貫通。三、總結(jié)通過本次任務(wù)的學(xué)習(xí)和實(shí)踐,使我們了解了函數(shù)的功能和特點(diǎn),掌握了函數(shù)的定義和調(diào)用的方法,并且通過綜合實(shí)訓(xùn)的引導(dǎo),能夠熟練運(yùn)用多種方法編寫函數(shù)來解決實(shí)際問題。如果需要編寫的程序非常復(fù)雜,可以將其分解為多個(gè)函數(shù),由團(tuán)隊(duì)成員分工協(xié)作一同來完成;函數(shù)也需要合作,合作才能共贏。作業(yè)布置編寫函數(shù)求圓的面積教學(xué)反思編寫函數(shù)實(shí)現(xiàn)具體要求可能有多種方法,盡量引導(dǎo)同學(xué)們多思考,多一種解題思路就多掌握一種解決問題的方法,一題多解可以更好地培養(yǎng)學(xué)生的思維能力。情景三優(yōu)化程序的性能主題面向?qū)ο蟪绦蛟O(shè)計(jì)序號2課時(shí)2教學(xué)手段多媒體、板書、實(shí)訓(xùn)室教學(xué)方法講授法、演示法、案例法教學(xué)課型□理論□實(shí)訓(xùn)√一體化□(其它)教學(xué)目標(biāo)能力目標(biāo):能夠使用封裝技術(shù)隱藏學(xué)生類中的屬性和方法,并間接對其進(jìn)行訪問;能夠熟練掌握單繼承和多繼承的,提高了代碼的可重用性。知識目標(biāo):了解對象的概念以及如何創(chuàng)建和使用對象。素質(zhì)目標(biāo):接受新知識、自主學(xué)習(xí)的能力。教學(xué)重點(diǎn)類的定義、對象的創(chuàng)建與使用教學(xué)難點(diǎn)多態(tài)教學(xué)過程設(shè)計(jì)備注一、復(fù)習(xí)上一節(jié)上課內(nèi)容并引出本節(jié)上課內(nèi)容在上一節(jié)中我們已經(jīng)學(xué)習(xí)了函數(shù),掌握了函數(shù)的定義和調(diào)用的方法,并且通過綜合實(shí)訓(xùn)的引導(dǎo),能夠熟練運(yùn)用多種方法編寫函數(shù)來解決實(shí)際問題。如果需要編寫的程序非常復(fù)雜,可以將其分解為多個(gè)函數(shù),由團(tuán)隊(duì)成員分工協(xié)作一同來完成;函數(shù)也需要合作,合作才能共贏。本次課我們來學(xué)習(xí)論面向?qū)ο蟪绦蛟O(shè)計(jì)。二、教學(xué)內(nèi)容1、對象的引入對象(object)是一種數(shù)據(jù)抽象或數(shù)據(jù)結(jié)構(gòu)抽象,用來表示程序中需要處理或已處理的信息。Python從設(shè)計(jì)之初就是一門面向?qū)ο蟮恼Z言,它有一個(gè)重要的概念,即一切皆對象。數(shù)字、字符串、元組、列表、字典、函數(shù)、方法、類、模塊等等都是對象。將對象的特征用狀態(tài)和行為來表示,狀態(tài)就是靜態(tài)屬性,主要指對象包含的各種信息,如學(xué)號、姓名、性別、籍貫等;行為就是動(dòng)態(tài)屬性,表示對象所具有的功能和操作,如學(xué)習(xí)、吃飯、體育鍛煉等。2、類的定義如果把一個(gè)個(gè)學(xué)生對象歸到一個(gè)集合,這就形成了類。類就如同模具,有了類這個(gè)模具,就可以很方便地創(chuàng)建對象了。在Python中,要?jiǎng)?chuàng)建一個(gè)個(gè)的對象,就要先創(chuàng)建模具,也就是先創(chuàng)建一個(gè)類。在Python的世界中也是同樣道理,要?jiǎng)?chuàng)建一個(gè)個(gè)的對象,就要先創(chuàng)建模具,也是先創(chuàng)建一個(gè)類。那如何定義類呢?使用關(guān)鍵字class來表示類,后面加空格再寫類名,類名后同樣需要緊跟一個(gè)重要的冒號,即class類名:,在定義類時(shí),類名要遵循大駝峰命名法。這一行,稱為類的頭部的定義,當(dāng)類頭部定義完后,就是類體的定義了。類體的定義必須換行并縮進(jìn)對齊。類體中是類的成員,包括兩個(gè)部分:成員變量和成員方法。成員變量即狀態(tài),用于描述類的狀態(tài)屬性和特征。成員方法即行為,用于定義類所要進(jìn)行的操作。比如定義一個(gè)汽車類,它的成員變量有:品牌、型號、顏色、價(jià)格;它的成員方法有:行駛;參考代碼如下。classCar:brand='長城'type='H6''color='黑色'price='120000'defdrive(self):print('Icanrun')3、對象的創(chuàng)建與使用汽車類創(chuàng)建完成以后,怎么通過汽車類來創(chuàng)建對象呢?這一步非常簡單,可以使用對象名=類名()來完成,此時(shí)我們要?jiǎng)?chuàng)建一個(gè)car1對象名,則直接通過car1=Car()來完成對象的創(chuàng)建。對象創(chuàng)建以后,該對象如何使用呢?通常使用對象名.成員變量名和對象名.方法名(參數(shù)列表),來訪問成員變量和成員方法,參考代碼如下。car1=Car() #創(chuàng)建car1對象car1.brand='長安' #訪問成員變量car1.type='CS75#調(diào)用成員方法car1.drive()4、封裝封裝(Encapsulation)是對具體對象的一種抽象,即將某些部分隱藏起來,在程序外部看不到,其含義是其他程序無法調(diào)用。要了解封裝,離不開“私有化”,就是將類或者是函數(shù)中的某些屬性限制在某個(gè)區(qū)域之內(nèi),外部無法調(diào)用。在類中把某些屬性和方法隱藏起來(或者說定義成私有的),只在類的內(nèi)部使用、外部無法訪問,或者留下少量接口(函數(shù))供外部訪問。Python中私有化的方法也比較簡單,即在準(zhǔn)備私有化的屬性和方法名字前面加兩個(gè)下劃線(__)即可。學(xué)生類Student中成員變量年齡age和性別gender私有化;同時(shí)將成員方法學(xué)習(xí)study()封裝起來,參考代碼如下。classStudent:name='張三'__age=18__gender='男'def__study(self):print('努力學(xué)習(xí)')defeat(self):print('認(rèn)真吃飯')defsleep(self):print('好好休息')5、繼承在Python中一切皆對象,這些對象都是類的實(shí)例。這么多的類,每個(gè)類都是從頭開始創(chuàng)建的嗎?比如我要給小貓創(chuàng)建一個(gè)類,再給小狗創(chuàng)建一個(gè)類、還要給小豬創(chuàng)建一個(gè)類;每個(gè)類的代碼都要打一遍,會不會太繁瑣了呀,有什么方法能夠提高編程的效率呢?小貓、小狗、小豬它們是完全不一樣的嗎?當(dāng)然不是啦。它們也是有一些共同之處,比如都有兩個(gè)眼睛、兩個(gè)耳朵、四條腿,都能發(fā)出聲音;我們可以利用它們的共通點(diǎn),首先創(chuàng)建一個(gè)動(dòng)物Animal類,然后根據(jù)動(dòng)物Animal類分別創(chuàng)建小貓子類、小狗子類和小豬子類,此時(shí)這三個(gè)子類無需編碼便可以擁有動(dòng)物Animal類的方法和屬性,這就是繼承,這也是面向?qū)ο笳Z言的一個(gè)重要特征。繼承是指將一個(gè)具有廣泛意義的類定義為父類(又稱為基類或超類),新建的類可以繼承一個(gè)或者多個(gè)父類,新建的類稱為子類(派生類)。子類的創(chuàng)建語法格式如下。class子類名(父類名): 成員變量的定義(新增或修改) 成員方法的定義(新增或修改)創(chuàng)建一個(gè)動(dòng)物類Animal,該類具有吃、喝、跑、睡4個(gè)方法,參考代碼如下。classAnimal:defeat(self):print('吃',end='')defdrink(self):print('喝',end='')defrun(self):print('跑',end='')defsleep(self):print('睡')再創(chuàng)建一個(gè)貓類Cat,讓它繼承動(dòng)物類,品種為貍花貓,并且新增一個(gè)捉老鼠的方法;再創(chuàng)建一個(gè)狗類Dog,讓它繼承動(dòng)物類,品種為中華田園犬,并且新增一個(gè)看家護(hù)院的方法;參考代碼如下。classCat(Animal):breed='貍花貓'defwork(self):print('捉老鼠')classDog(Animal):breed='

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論