Python編程基礎(chǔ)與應(yīng)用 第2版 課件 第3章結(jié)構(gòu)化程序設(shè)計(jì);第4章函數(shù)模塊與類_第1頁(yè)
Python編程基礎(chǔ)與應(yīng)用 第2版 課件 第3章結(jié)構(gòu)化程序設(shè)計(jì);第4章函數(shù)模塊與類_第2頁(yè)
Python編程基礎(chǔ)與應(yīng)用 第2版 課件 第3章結(jié)構(gòu)化程序設(shè)計(jì);第4章函數(shù)模塊與類_第3頁(yè)
Python編程基礎(chǔ)與應(yīng)用 第2版 課件 第3章結(jié)構(gòu)化程序設(shè)計(jì);第4章函數(shù)模塊與類_第4頁(yè)
Python編程基礎(chǔ)與應(yīng)用 第2版 課件 第3章結(jié)構(gòu)化程序設(shè)計(jì);第4章函數(shù)模塊與類_第5頁(yè)
已閱讀5頁(yè),還剩131頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1

結(jié)構(gòu)化程序設(shè)計(jì)3.1結(jié)構(gòu)化程序設(shè)計(jì)程序設(shè)計(jì)與算法一般說(shuō)來(lái),程序設(shè)計(jì)包括以下步驟:①問(wèn)題定義;②算法設(shè)計(jì);③算法表示(如流程圖設(shè)計(jì));④程序編制;⑤程序調(diào)試、測(cè)試及資料編制。23.1結(jié)構(gòu)化程序設(shè)計(jì)程序設(shè)計(jì)與算法33.1結(jié)構(gòu)化程序設(shè)計(jì)流程圖表示方式43.1結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)的基本要點(diǎn)53.1結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)的基本要點(diǎn)63.1結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)的基本要點(diǎn)三種基本結(jié)構(gòu)的共同特點(diǎn)是:1)只有單一的入口和單一的出口;2)結(jié)構(gòu)中的每個(gè)部分都有執(zhí)行到的可能;3)結(jié)構(gòu)內(nèi)不存在永不終止的死循環(huán)。因此,結(jié)構(gòu)化程序設(shè)計(jì)的基本思想是采用“自頂向下,逐步求精”的程序設(shè)計(jì)方法和“單入口單出口”的控制結(jié)構(gòu)。73.2選擇結(jié)構(gòu)if語(yǔ)句的形式83.2選擇結(jié)構(gòu)if語(yǔ)句的形式93.2選擇結(jié)構(gòu)if語(yǔ)句的形式103.2選擇結(jié)構(gòu)if語(yǔ)句的形式113.2選擇結(jié)構(gòu)if語(yǔ)句的形式123.2選擇結(jié)構(gòu)if語(yǔ)句的嵌套133.2選擇結(jié)構(gòu)if語(yǔ)句實(shí)例143.2選擇結(jié)構(gòu)if語(yǔ)句實(shí)例153.2選擇結(jié)構(gòu)if語(yǔ)句實(shí)例163.2選擇結(jié)構(gòu)assert斷言函數(shù)及用法173.2選擇結(jié)構(gòu)assert實(shí)例183.3循環(huán)結(jié)構(gòu)while循環(huán)語(yǔ)句193.3循環(huán)結(jié)構(gòu)while循環(huán)語(yǔ)句203.3循環(huán)結(jié)構(gòu)while循環(huán)語(yǔ)句213.3循環(huán)結(jié)構(gòu)for循環(huán)語(yǔ)句223.3循環(huán)結(jié)構(gòu)for循環(huán)語(yǔ)句233.3循環(huán)結(jié)構(gòu)for循環(huán)語(yǔ)句243.3循環(huán)結(jié)構(gòu)for循環(huán)語(yǔ)句253.3循環(huán)結(jié)構(gòu)范圍及for循環(huán)控制263.3循環(huán)結(jié)構(gòu)范圍及for循環(huán)控制273.3循環(huán)結(jié)構(gòu)范圍及for循環(huán)控制283.3循環(huán)結(jié)構(gòu)循環(huán)嵌套293.3循環(huán)結(jié)構(gòu)循環(huán)嵌套303.3循環(huán)結(jié)構(gòu)循環(huán)嵌套313.3循環(huán)結(jié)構(gòu)循環(huán)嵌套323.3循環(huán)結(jié)構(gòu)循環(huán)控制語(yǔ)句1.break語(yǔ)句break語(yǔ)句,在語(yǔ)句塊執(zhí)行過(guò)程中終止當(dāng)前循環(huán),并且跳出當(dāng)前循環(huán)。break語(yǔ)句可以立即終止當(dāng)前循環(huán)的執(zhí)行,跳出當(dāng)前所在的循環(huán)結(jié)構(gòu)。無(wú)論是while循環(huán)還是for循環(huán),只要執(zhí)行break語(yǔ)句,就會(huì)直接結(jié)束當(dāng)前正在執(zhí)行的循環(huán)體。break語(yǔ)句的語(yǔ)法非常簡(jiǎn)單,只需要在相應(yīng)while或for語(yǔ)句中直接加入即可,一般會(huì)結(jié)合if語(yǔ)句進(jìn)行搭配使用,表示在某種條件下跳出循環(huán)體。333.3循環(huán)結(jié)構(gòu)循環(huán)控制語(yǔ)句343.3循環(huán)結(jié)構(gòu)循環(huán)控制語(yǔ)句353.3循環(huán)結(jié)構(gòu)循環(huán)控制語(yǔ)句2.continue語(yǔ)句continue語(yǔ)句執(zhí)行過(guò)程中終止當(dāng)前循環(huán),跳出該次循環(huán),執(zhí)行下一次循環(huán)。和break語(yǔ)句相比,continue語(yǔ)句的作用沒(méi)有那么強(qiáng)大,它只會(huì)終止執(zhí)行本次循環(huán)中剩下的代碼,直接從下一次循環(huán)繼續(xù)執(zhí)行。continue語(yǔ)句的用法和break語(yǔ)句一樣,只要while或for語(yǔ)句中的相應(yīng)位置加入即可。363.3循環(huán)結(jié)構(gòu)循環(huán)控制語(yǔ)句373.3循環(huán)結(jié)構(gòu)循環(huán)控制語(yǔ)句2.continue語(yǔ)句continue語(yǔ)句執(zhí)行過(guò)程中終止當(dāng)前循環(huán),跳出該次循環(huán),執(zhí)行下一次循環(huán)。和break語(yǔ)句相比,continue語(yǔ)句的作用沒(méi)有那么強(qiáng)大,它只會(huì)終止執(zhí)行本次循環(huán)中剩下的代碼,直接從下一次循環(huán)繼續(xù)執(zhí)行。continue語(yǔ)句的用法和break語(yǔ)句一樣,只要while或for語(yǔ)句中的相應(yīng)位置加入即可。383.3循環(huán)結(jié)構(gòu)循環(huán)控制語(yǔ)句3.pass語(yǔ)句pass是空語(yǔ)句,只是起到保持程序結(jié)構(gòu)的完整性作用。393.3循環(huán)結(jié)構(gòu)循環(huán)控制語(yǔ)句403.4采用選擇與循環(huán)實(shí)現(xiàn)序列操作序列推導(dǎo)式1.列表推導(dǎo)式使用[]生成list的基本格式為:variable=[out_exp_resforout_expininput_listifout_exp==2]其中out_exp_res為列表生成元素表達(dá)式,可以是有返回值的函數(shù);forout_expininput_list為迭代input_list將out_exp傳入out_exp_res表達(dá)式中;ifout_exp==2為根據(jù)條件過(guò)濾哪些值。413.4采用選擇與循環(huán)實(shí)現(xiàn)序列操作序列推導(dǎo)式423.4采用選擇與循環(huán)實(shí)現(xiàn)序列操作序列推導(dǎo)式2.字典推導(dǎo)式字典推導(dǎo)和列表推導(dǎo)的使用方法是類似的,需要將中括號(hào)改成大括號(hào)。433.4采用選擇與循環(huán)實(shí)現(xiàn)序列操作序列推導(dǎo)式443.4采用選擇與循環(huán)實(shí)現(xiàn)序列操作序列推導(dǎo)式453.4采用選擇與循環(huán)實(shí)現(xiàn)序列操作序列推導(dǎo)式3.集合推導(dǎo)式它們跟列表推導(dǎo)式也是類似的,唯一的區(qū)別在于它使用大括號(hào){}。463.4采用選擇與循環(huán)實(shí)現(xiàn)序列操作序列推導(dǎo)式473.4采用選擇與循環(huán)實(shí)現(xiàn)序列操作zip函數(shù)及用法zip()函數(shù)是Python內(nèi)置函數(shù)之一,它可以將多個(gè)序列(列表、元組、字典、集合、字符串以及range()區(qū)間構(gòu)成的列表)“壓縮”成一個(gè)zip對(duì)象。所謂“壓縮”,其實(shí)就是將這些序列中對(duì)應(yīng)位置的元素重新組合,生成一個(gè)個(gè)新的元組。zip()函數(shù)的語(yǔ)法格式為:zip(iterable,...)其中iterable,...表示多個(gè)列表、元組、字典、集合、字符串,甚至還可以為range()區(qū)間。483.4采用選擇與循環(huán)實(shí)現(xiàn)序列操作zip函數(shù)及用法493.4采用選擇與循環(huán)實(shí)現(xiàn)序列操作reversed函數(shù)及用法reserved()是Pyton內(nèi)置函數(shù)之一,其功能是對(duì)于給定的序列(包括列表、元組、字符串以及range(n)區(qū)間),該函數(shù)可以返回一個(gè)逆序序列的迭代器(用于遍歷該逆序序列)。reserved()函數(shù)的語(yǔ)法格式如下:reversed(seq)其中,seq可以是列表、元素、字符串以及range()生成的區(qū)間列表。503.4采用選擇與循環(huán)實(shí)現(xiàn)序列操作reversed函數(shù)及用法513.4采用選擇與循環(huán)實(shí)現(xiàn)序列操作sorted函數(shù)及用法sorted()作為Python內(nèi)置函數(shù)之一,其功能是對(duì)序列(列表、元組、字典、集合、還包括字符串)進(jìn)行排序。sorted()函數(shù)的基本語(yǔ)法格式如下:list=sorted(iterable,key=None,reverse=False)sorted()函數(shù)會(huì)返回一個(gè)排好序的列表。其中,iterable表示指定的序列,key參數(shù)可以自定義排序規(guī)則;reverse參數(shù)指定以升序(False,默認(rèn))還是降序(True)進(jìn)行排序;key參數(shù)和reverse參數(shù)是可選參數(shù),即可以使用,也可以忽略。523.4采用選擇與循環(huán)實(shí)現(xiàn)序列操作sorted函數(shù)及用法533.5綜合案例解析1.編寫(xiě)計(jì)算班級(jí)學(xué)生平均分程序543.5綜合案例解析1.編寫(xiě)計(jì)算班級(jí)學(xué)生平均分程序553.5綜合案例解析2.編寫(xiě)判讀是否素?cái)?shù)的程序5657

函數(shù)、模塊與類4.1函數(shù)的定義函數(shù)定義規(guī)則1)函數(shù)代碼塊以def關(guān)鍵詞開(kāi)頭,后接函數(shù)標(biāo)識(shí)符名稱和圓括號(hào)()。2)任何傳入?yún)?shù)和自變量必須放在圓括號(hào)中間,圓括號(hào)之間可以用于定義參數(shù)。3)函數(shù)的第一行語(yǔ)句可以選擇性地使用文檔字符串,用于存放函數(shù)說(shuō)明。4)函數(shù)內(nèi)容以冒號(hào)起始,并且統(tǒng)一縮進(jìn)。584.1函數(shù)的定義函數(shù)定義規(guī)則594.1函數(shù)的定義函數(shù)定義規(guī)則604.1函數(shù)的定義614.1函數(shù)的定義函數(shù)的形式參數(shù)和實(shí)際參數(shù)(1)形式參數(shù):在定義函數(shù)時(shí),函數(shù)名后面括號(hào)中的參數(shù)就是形式參數(shù),例如:#定義函數(shù)時(shí),這里的函數(shù)參數(shù)obj就是形式參數(shù)defdemo(obj):print(obj)624.1函數(shù)的定義函數(shù)的形式參數(shù)和實(shí)際參數(shù)(2)實(shí)際參數(shù):在調(diào)用函數(shù)時(shí),函數(shù)名后面括號(hào)中的參數(shù)稱為實(shí)際參數(shù),也就是函數(shù)的調(diào)用者給函數(shù)的參數(shù)。例如:a="Python學(xué)習(xí)小組"#調(diào)用已經(jīng)定義好的demo函數(shù),此時(shí)傳入的函數(shù)參數(shù)a就是實(shí)際參數(shù)demo(a)634.1函數(shù)的定義函數(shù)的形式參數(shù)和實(shí)際參數(shù)根據(jù)實(shí)際參數(shù)的類型不同,函數(shù)參數(shù)的傳遞方式可分為2種,分別為值傳遞和引用(地址)傳遞:(1)值傳遞:適用于實(shí)參類型為不可變類型(字符串、數(shù)字、元組);(2)引用(地址)傳遞:適用于實(shí)參類型為可變類型(列表,字典)。644.1函數(shù)的定義函數(shù)的形式參數(shù)和實(shí)際參數(shù)654.1函數(shù)的定義函數(shù)的形式參數(shù)和實(shí)際參數(shù)664.1函數(shù)的定義值傳遞機(jī)制674.1函數(shù)的定義值傳遞機(jī)制684.1函數(shù)的定義引用傳遞機(jī)制694.1函數(shù)的定義引用傳遞機(jī)制704.1函數(shù)的定義函數(shù)的關(guān)鍵字參數(shù)714.1函數(shù)的定義函數(shù)的默認(rèn)值參數(shù)724.1函數(shù)的定義函數(shù)的默認(rèn)值參數(shù)734.1函數(shù)的定義函數(shù)的默認(rèn)值參數(shù)744.1函數(shù)的定義None返回值常量None(N必須大寫(xiě))。和False不同,它不表示0,也不表示空字符串,而表示“沒(méi)有值”,也就是空值。這里的空值并不代表空對(duì)象,即None和[]、“”不同。None有自己的數(shù)據(jù)類型,可以在使用type()函數(shù)查看它的類型,屬于NoneType類型。None常用于assert、判斷以及函數(shù)無(wú)返回值的情況。比如使用print()函數(shù)輸出數(shù)據(jù),其實(shí)該函數(shù)的返回值就是None。因?yàn)樗墓δ苁窃谄聊簧巷@示文本,根本不需要返回任何值,所以print()就返回None。對(duì)于所有沒(méi)有return語(yǔ)句的函數(shù)定義,Python都會(huì)在末尾加上returnNone,使用不帶值的return語(yǔ)句(也就是只有return關(guān)鍵字本身),那么就返回None。754.1函數(shù)的定義None返回值764.1函數(shù)的定義局部變量在函數(shù)內(nèi)部定義的變量,它的作用域也僅限于函數(shù)內(nèi)部,出了函數(shù)就不能使用了,將這樣的變量稱為局部變量(LocalVariable)。當(dāng)函數(shù)被執(zhí)行時(shí),Python會(huì)為其分配一塊臨時(shí)的存儲(chǔ)空間,所有在函數(shù)內(nèi)部定義的變量,都會(huì)存儲(chǔ)在這塊空間中。而在函數(shù)執(zhí)行完畢后,這塊臨時(shí)存儲(chǔ)空間隨即會(huì)被釋放并回收,該空間中存儲(chǔ)的變量自然也就無(wú)法再被使用。774.1函數(shù)的定義局部變量784.1函數(shù)的定義全局變量794.1函數(shù)的定義全局變量804.1函數(shù)的定義為函數(shù)提供說(shuō)明文檔814.2函數(shù)的高級(jí)應(yīng)用匿名函數(shù)lambda表達(dá)式824.2函數(shù)的高級(jí)應(yīng)用匿名函數(shù)lambda表達(dá)式834.2函數(shù)的高級(jí)應(yīng)用閉包函數(shù)844.2函數(shù)的高級(jí)應(yīng)用遞歸函數(shù)(1)必須有一個(gè)明確的結(jié)束條件。(2)每次進(jìn)入更深一層遞歸時(shí),問(wèn)題規(guī)模相比上次遞歸都應(yīng)有所減少。(3)相鄰兩次重復(fù)之間有緊密的聯(lián)系,前一次要為后一次做準(zhǔn)備(通常前一次的輸出就作為后一次的輸入)。(4)遞歸效率不高,遞歸層次過(guò)多會(huì)導(dǎo)致棧溢出,因?yàn)楹瘮?shù)調(diào)用是通過(guò)棧(stack)這種數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)的,每當(dāng)進(jìn)入一個(gè)函數(shù)調(diào)用,棧就會(huì)加一層棧幀,每當(dāng)函數(shù)返回,棧就會(huì)減一層棧幀。由于棧的大小不是無(wú)限的,所以,遞歸調(diào)用的次數(shù)過(guò)多,會(huì)導(dǎo)致棧溢出。854.2函數(shù)的高級(jí)應(yīng)用遞歸函數(shù)864.2函數(shù)的高級(jí)應(yīng)用遞歸函數(shù)874.2函數(shù)的高級(jí)應(yīng)用遞歸函數(shù)884.3類與對(duì)象對(duì)象的引入894.3類與對(duì)象對(duì)象的引入904.3類與對(duì)象對(duì)象的常用術(shù)語(yǔ)914.3類與對(duì)象類的定義924.3類與對(duì)象類和對(duì)象的關(guān)系934.3類與對(duì)象類的構(gòu)造方法944.3類與對(duì)象類的構(gòu)造方法954.3類與對(duì)象類的構(gòu)造方法964.3類與對(duì)象類的構(gòu)造方法974.3類與對(duì)象類的構(gòu)造方法984.3類與對(duì)象類的構(gòu)造方法994.3類與對(duì)象property()函數(shù)和@property裝飾器1004.3類與對(duì)象property()函數(shù)和@property裝飾器1014.3類與對(duì)象property()函數(shù)和@property裝飾器1024.3類與對(duì)象property()函數(shù)和@property裝飾器1034.3類與對(duì)象property()函數(shù)和@property裝飾器1044.3類與對(duì)象property()函數(shù)和@property裝飾器1054.4類的封裝與繼承封裝1064.4類的封裝與繼承封裝1074.4類的封裝與繼承封裝1084.4類的封裝與繼承繼承1094.4類的封裝與繼承繼承1104.4類的封裝與繼承繼承1114.4類的封裝與繼承多態(tài)1124.4類的封裝與繼承多態(tài)1134.5模塊與庫(kù)使用import來(lái)導(dǎo)入模塊的語(yǔ)法格式1144.5模塊與庫(kù)使用import來(lái)導(dǎo)入模塊的語(yǔ)法格式1154.5模塊與庫(kù)1164.5模塊與庫(kù)1174.5模塊與庫(kù)1184.5模塊與庫(kù)datetime模塊1194.5模塊與庫(kù)datetime模塊1204.5模塊與庫(kù)datetime模塊1214.5模塊與庫(kù)datetime模塊1224.5模塊與庫(kù)datetime模塊1234.5模塊與庫(kù)datetime模塊1244.5模塊與庫(kù)time模塊 time.localtime([secs]):將一個(gè)時(shí)間戳轉(zhuǎn)換為當(dāng)前時(shí)區(qū)的struct_time。secs參數(shù)未提供,則以當(dāng)前時(shí)間為準(zhǔn)。 time.gmtime([secs]):和localtime()方法類似,gmtime()方法是將一個(gè)時(shí)間戳轉(zhuǎn)換為UTC時(shí)區(qū)(0時(shí)區(qū))的struct_time。 time.time():返回當(dāng)前時(shí)間的時(shí)間戳。 time.mktime(t):將一個(gè)struct_time轉(zhuǎn)化為時(shí)間戳。 time.sleep(secs):線程推遲指定的時(shí)間運(yùn)行。單位為秒。 time.asctime([t]):把一個(gè)表示時(shí)間的元組或者struct_time表示為這種形式:'Sun

Oct

18

2

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論