版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2.4可以復用的代碼-垃圾分類高一信息技術
上學期
第2單元編程計算知識回顧
分支結構:根據不同的條件判斷來決定程序執(zhí)行走向的結構,可以使用if分支語句實現。if條件表達式1:
語句塊1elif條件表達式2:
語句塊2……elif條件表達式N:
語句塊Nelse:
語句塊N+1if條件表達式:
語句塊1if條件表達式:
語句塊1else:語句塊2單分支雙分支多分支思維導圖2.4可以復用的代碼-垃圾分類
假設,你是一位編程元宇宙的“垃圾分類廠”廠長,現在工廠初創(chuàng),還是“人工”分揀,假設人員一次性最多分類三種垃圾。請你打開“導入程序”,說一下這段代碼給你什么感覺?“垃圾分類廠”初創(chuàng)困境情景1.代碼重復、冗長2.書寫、閱讀起來效率低下
我們編寫的程序代碼中有許多功能是相似甚至完全相同的,這時可以考慮代碼復用的方法提高程序的效率。在用算法解決問題的過程中,經常采用模塊化程序設計思想,將問題分解成若干個子問題,并用相對獨立的程序段來針對性的解決各個子問題,提高程序設計的效率。對于常用的程序代碼,以模塊化的形式進行保存,需要時可重復調用。在Python中,主要利用函數、模塊等方式實現模塊化程序設計。設計思想函數是一段具有特定功能的、可復用的語句組,用函數名來表示并通過函數名進行功能調用。每次使用函數可以提供不同的參數作為輸入,以實現對不同數據的處理;函數執(zhí)行后,還可以反饋相應的處理結果。函數能夠完成特定功能,與黑盒類似,對函數的使用不需要了解函數內部實現原理,只要了解函數的輸入輸出方式即可。函數的定義使用函數主要有兩個目的:降低編程難度和代碼復用。函數是一種功能抽象,利用它可以將一個復雜的大問題分解成一系列簡單的小問題,然后將小問題繼續(xù)劃分成更小的問題,當問題細化到足夠簡單時,就可以分而治之,為每個小問題編寫程序,并通過函數封裝,當各個小問題都解決了,大問題也就迎刃而解。這是一種自頂向下的程序設計思想。函數可以在一個程序中的多個位置使用,也可以用于多個程序,當需要修改代碼時,只需要在函數中修改一次,所有調用位置的功能都更新了,這種代碼復用降低了代碼行數和代碼維護難度。函數的作用……print()input()range()思考:我們已經學習了哪些函數?類別函數舉例系統(tǒng)函數(即函數庫中的標準函數,是程序設計語言或操作系統(tǒng)提供給用戶的一系列已經編制好的程序)數學運算類min():求最小值max():求最大值abs():求絕對值sqrt():求平方根pow():求冪數據轉換類int():轉換成整型float():轉換成浮點型str():轉換成字符型bool():轉換成布爾型字符串操作類len():求字符串的長度mid():字符串中間截取輸入輸出類input():輸入函數print():輸出函數文件操作類open():打開文件自定義函數用戶自己編寫的一段程序factorial()、match_num()項目主題設計“垃圾分揀機”010203基礎任務1:打造“垃圾分揀機”樣機基礎任務2:打造“垃圾分揀機1.0”基礎任務3:打造“垃圾分揀機2.0”04進階任務4:打造“新垃圾添加機”05拓展任務5:綜合“垃圾分揀機”Python目前還沒有能實現“垃圾分揀機”邏輯的內置函數。所以,我們要定義一個專屬的“垃圾分揀機”函數。01打造“垃圾分揀機”樣機基礎任務
函數一般包括函數名、參數、返回值和函數體等四部分。其中,函數名和函數體是必不可少的,參數和返回值可根據需要進行定義。
首先,我們先來定義一個無參數、無返回值的自定義函數。01打造“垃圾分揀機”樣機基礎任務def
函數名():
語句或語句組
函數體def關鍵字(define的縮寫),它是自定義函數的固定格式函數名需要遵守一定的命名規(guī)則,“見名知意”函數體要縮進,體現函數具備什么功能函數的定義和調用程序執(zhí)行時由于def塊中的代碼不是主程序的一部分,因此會跳過該段代碼,從主程序的第一行開始運行。在遇到函數的調用語句時,轉到函數中的第一行代碼開始執(zhí)行。先定義后調用函數的定義和調用函數的執(zhí)行流程:先創(chuàng)建函數;執(zhí)行代碼直到調用函數;所謂調用函數就是使用這個函數。調用函數的語法:函數名()調用函數以后執(zhí)行函數內部的代碼塊。01打造“垃圾分揀機”樣機基礎任務
打開“垃圾分揀機樣機”半成品程序,小組合作補全代碼,并調用該函數,輸出結果如下:
觀察程序發(fā)現并沒有真正的實現代碼復用,下面我們將樣機進行升級。
我們逐步升級這個“垃圾分揀機”,給它安裝一個“控制系統(tǒng)”:參數,然后我們就可以通過參數來靈活控制分類過程了。02打造“垃圾分揀機1.0”基礎任務def
函數名(形式參數):
語句或語句組
在Python中,參數是函數要接收并對其進行處理的數據。形參(形式參數):函數定義時的參數,實際上就是變量名。實參(實際參數):函數調用時的參數,實際上就是變量的值。【注意】函數的參數可以是零個,一個,也可以是多個,當有多個參數時,各個參數之間用逗號隔開。先定義后調用函數名(實際參數)參數傳遞要一一對應02打造“垃圾分揀機1.0”基礎任務
打開“垃圾分揀機1.0”半成品程序,小組合作將程序修改為帶參數的自定義函數,并調用該函數,輸出結果如下:函數的返回值03打造“垃圾分揀機2.0”基礎任務
return語句的功能是從函數內部返回值。咱們再進工廠,完善一下我們的“垃圾分揀機”,給它增加一個“垃圾出口”,打造“垃圾分揀機2.0”。def
函數名(形式參數):
語句或語句組
return
返回值函數體函數名(實際參數)先定義后調用參數傳遞要一一對應03打造“垃圾分揀機2.0”基礎任務
return語句的功能是從函數內部返回值。咱們再進工廠,完善一下我們的“垃圾分揀機”,給它增加一個“垃圾出口”,打造“垃圾分揀機2.0”。
打開“垃圾分揀機2.0”半成品程序,小組合作將程序修改為帶參數和返回值的自定義函數,并調用該函數,輸出結果如下:函數的返回值函數的執(zhí)行過程函數體實際參數返回值函數名形式參數執(zhí)行過程:程序執(zhí)行時由于def塊中的代碼不是主程序的一部分,因此會跳過該段代碼,從主程序的第一行name1="玻璃瓶"開始運行。在遇到函數的調用語句classify(name1)時,轉到函數中的第一行代碼開始執(zhí)行。函數運行時,變量name會被賦值為"玻璃瓶"。函數執(zhí)行完成返回"可回收垃圾",然后回到語句classification=classify(name1),將返回值賦給變量classification,因此classification="可回收垃圾",最后輸出玻璃瓶屬于可回收垃圾。04打造“新垃圾添加機”進階任務
打開“新垃圾添加機”半成品程序,小組合作完善程序,并調用該函數,實現添加新垃圾的功能。05綜合“垃圾分揀機”拓展任務
至此,組裝“垃圾分揀機”所需的所有零件都已經完成了,再組裝這些零件,就能完成成品的“垃圾分揀機”了,請同學們小組合作探究完成。算法流程圖如下:課堂小結def
函數名(形式參數):
語句或語句組
return
返回值函數體函數名(實際參數)先定義后調用參數傳遞要一一對應函數名:同變量命名規(guī)則,要“見名知意”參數:用于向函數傳遞值的,參數傳遞要對應函數體:要縮進,體現函數具備什么功能返回值:將表達式的值返回給調用者參數、返回值可0個或多個,如多個以逗號分隔下節(jié)預告
同學們運行“垃圾分揀機”程序,允許添加新的垃圾,每次重新運行程序,用戶上次輸入的新垃圾和分類沒有保存,請思考一下這是什么原因造成的?原因:列表更新只在內存中,每次運行都會重新初始化列表。如果需要在程序重啟后仍然保留這些分類信息,需要將數據寫入文件,并在程序啟動時從文件中讀取
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 機車租賃裝修合同范例
- 兼職加工配送合同范例
- 早教課合同范例
- 拍攝國慶合同范例
- 公司合同范例審查
- 采購電纜木盤合同范例
- 莊園運營合同范例
- 大潤發(fā)員工合同范例
- 屠宰場殺豬員工合同范例
- 外賣平臺勞工合同范例
- 背栓工藝課件
- 血流動力學監(jiān)測ppt
- 消化內科診療指南和技術操作規(guī)范
- 檢驗科制度匯編
- 開題報告基于MSP430單片機的溫濕度測量系統(tǒng)設計
- 固定技術規(guī)范-電纜保護管-MPP
- 鐵路橋梁墩身施工專項方案
- 燃氣-蒸汽聯合循環(huán)機組詳介
- 初中信息技術課程教學設計案例
- 計價格[1999]1283號_建設項目前期工作咨詢收費暫行規(guī)定
- 展廳展館中控系統(tǒng)解決方案
評論
0/150
提交評論