




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第9章異?!禤ython快速編程入門(第3版))》學(xué)習(xí)目標(biāo)/Target了解異常,能夠說(shuō)出異常的概念以及異常信息的組成部分掌握try-except語(yǔ)句的使用,能夠在程序中通過(guò)try-except語(yǔ)句捕獲與處理異常掌握try-except-else語(yǔ)句的使用,能夠在else子句中添加沒(méi)有異常的處理代碼熟悉異常類,能夠說(shuō)出常見(jiàn)的異常類型及其含義掌握try-except-finally語(yǔ)句的使用,能夠在finally子句中添加釋放資源的代碼學(xué)習(xí)目標(biāo)/Target掌握raise語(yǔ)句的使用,能夠在程序中通過(guò)raise語(yǔ)句拋出異常了解異常的傳遞,能夠說(shuō)出異常傳遞的特點(diǎn)掌握自定義異常的方式,能夠在程序中自定義并處理異常掌握assert斷言語(yǔ)句的使用,能夠在程序中通過(guò)assert語(yǔ)句拋出異常章節(jié)概述/Summary在現(xiàn)實(shí)生活中,我們經(jīng)常會(huì)遇到各種突發(fā)情況,比如航班延誤、火車晚點(diǎn)等,而在程序中同樣不可避免地會(huì)出現(xiàn)異常,比如試圖打開(kāi)一個(gè)不存在的文件、訪問(wèn)未定義的變量等。開(kāi)發(fā)人員需要辨別程序的異常,明確這些異常是源于程序本身的設(shè)計(jì)問(wèn)題,還是由外界環(huán)境的變化引起,以便有針對(duì)性地處理異常。為了幫助開(kāi)發(fā)人員處理異常,Python提供了功能強(qiáng)大的異常處理機(jī)制。本章將針對(duì)異常的相關(guān)內(nèi)容進(jìn)行詳細(xì)地講解。目錄/Contents010203異常概述異常捕獲語(yǔ)句拋出異常04自定義異常05實(shí)訓(xùn)案例異常概述9.1
先定一個(gè)小目標(biāo)!了解異常,能夠說(shuō)出異常的概念以及異常信息的組成部分9.1.1認(rèn)識(shí)異常9.1.1認(rèn)識(shí)異常異常是在程序運(yùn)行期間發(fā)生的錯(cuò)誤,意外或不正常情況,可能是由于外部環(huán)境、不正確的輸入、無(wú)效的操作或其他因素引起的。如果一個(gè)程序在運(yùn)行的過(guò)程中出現(xiàn)異常,并且沒(méi)有對(duì)異常進(jìn)行處理,那么此時(shí)解釋器會(huì)采用默認(rèn)方式處理異常,即終止程序并給出相應(yīng)的異常信息。9.1.1認(rèn)識(shí)異常異常信息中通常包含異常代碼所在行號(hào)、異常的類型和異常的描述信息。下面以四則運(yùn)算的程序?yàn)槔榻B異常信息,現(xiàn)有一個(gè)四則運(yùn)算的程序,該程序中在進(jìn)行除法操作時(shí)并沒(méi)有處理除數(shù)為0的情況,具體代碼如下:defcalculate(operation,num1,num2):ifoperation=="+":returnnum1+num2elifoperation=="-":returnnum1-num2elifoperation=="*":returnnum1*num2elifoperation=="/":returnnum1/num2else:return"無(wú)效的運(yùn)算符"expression=input("請(qǐng)輸入運(yùn)算式(例如2+3):")expression_list=expression.split()num1=int(expression_list[0])operation=expression_list[1]num2=int(expression_list[2])result=calculate(operation,num1,num2)print("運(yùn)算結(jié)果:",result)9.1.1認(rèn)識(shí)異常異常信息提供了有關(guān)發(fā)生錯(cuò)誤位置、錯(cuò)誤類型和錯(cuò)誤原因的詳細(xì)描述,通過(guò)閱讀異常信息,可以了解導(dǎo)致程序出現(xiàn)異常的具體原因,進(jìn)而采取適當(dāng)措施解決或處理異常情況,使程序變得更加健壯和可靠。
先定一個(gè)小目標(biāo)!熟悉異常類,能夠說(shuō)出常見(jiàn)的異常類型及其含義9.1.2異常類9.1.2異常類Python程序運(yùn)行出錯(cuò)時(shí)產(chǎn)生的每個(gè)異常類型都對(duì)應(yīng)一個(gè)類,程序運(yùn)行時(shí)出現(xiàn)的異常大多繼承自Exception類,Exception類又繼承了BaseException基類。BaseException類是所有異常類型的基類,它派生了四個(gè)子類,分別是Exception、KeyboardInterrupt、GeneratorExit和SystemExit,其中Exception是所有內(nèi)置的、非系統(tǒng)退出的異常的基類;KeyboardInterrupt是用戶中斷執(zhí)行時(shí)會(huì)產(chǎn)生的異常;GeneratorExit表示生成器退出異常;SystemExit表示Python解釋器退出異常。1.NameErrorNameError是程序中使用了未定義的變量時(shí)會(huì)引發(fā)的異常。NameError異常通常發(fā)生在以下幾種情況:(1)在使用變量之前,沒(méi)有對(duì)變量進(jìn)行賦值。(2)使用一個(gè)未導(dǎo)入的模塊或未定義的函數(shù)名或類名。(3)在函數(shù)內(nèi)部訪問(wèn)全局變量,但全局變量還沒(méi)有被賦值。例如,訪問(wèn)一個(gè)未定義過(guò)的變量test,具體代碼如下:9.1.2異常類print(test)示例2.IndexErrorIndexError是程序中使用了超出序列范圍的索引時(shí)引發(fā)的異常。當(dāng)使用索引訪問(wèn)列表、元組、字符串這幾種序列類型的元素時(shí),如果指定的索引超出了序列的范圍,就會(huì)導(dǎo)致程序引發(fā)IndexError異常。例如,定義一個(gè)空列表num_list,訪問(wèn)該列表中索引為0的元素,具體代碼如下:9.1.2異常類num_list=[]print(num_list[0])示例3.AttributeErrorAttributeError是使用對(duì)象訪問(wèn)不存在的屬性或者調(diào)用不存在的方法時(shí)引發(fā)的異常。例如,Car類中動(dòng)態(tài)地添加了兩個(gè)屬性color和brand,使用Car類的對(duì)象依次訪問(wèn)color、brand屬性,以及不存在的name屬性,具體代碼如下:9.1.2異常類classCar(object):passcar=Car()car.color="紅色"car.brand='蘭博基尼'print(car.color)print(car.brand)print()示例4.FileNotFoundErrorFileNotFoundError是未找到指定文件或目錄時(shí)引發(fā)的異常。例如,打開(kāi)一個(gè)本地不存在的文件,具體代碼如下:9.1.2異常類file=open("test.txt")示例異常捕獲語(yǔ)句9.2
先定一個(gè)小目標(biāo)!9.2.1使用try-except語(yǔ)句捕獲異常掌握try-except語(yǔ)句的使用,能夠在程序中通過(guò)try-except語(yǔ)句捕獲與處理異常try-except語(yǔ)句是基本的異常捕獲語(yǔ)句,用于捕獲和處理程序可能發(fā)生的異常,以避免程序意外終止運(yùn)行。try-except語(yǔ)句的基本語(yǔ)法格式如下:try:
可能出現(xiàn)異常的代碼except[異常類[as異常信息]]:
捕獲異常后的處理代碼語(yǔ)法格式以上語(yǔ)法格式中,try子句之后為可能出錯(cuò)的代碼,也就是需要被監(jiān)控的代碼;except子句中可以指定異常類,若指定了異常類,該子句只對(duì)與指定異常類匹配的異常進(jìn)行捕獲,否則將捕獲try子句中產(chǎn)生的所有異常。except子句中的as關(guān)鍵字用于將捕獲到的異常信息賦值給一個(gè)變量,as及其后面的異常信息可以省略。except子句后的代碼是捕獲異常后的處理代碼。9.2.1使用try-except語(yǔ)句捕獲異常值得一提的是,在except子句后面可以添加多個(gè)except子句,每個(gè)except子句用于捕獲不同類型的異常,實(shí)現(xiàn)更精細(xì)化的異常處理。當(dāng)程序監(jiān)控到異常時(shí),會(huì)按照順序逐個(gè)查找與該異常類型匹配的except子句。9.2.1使用try-except語(yǔ)句捕獲異常9.2.1使用try-except語(yǔ)句捕獲異常try-except語(yǔ)句的執(zhí)行過(guò)程為:優(yōu)先執(zhí)行try子句中的代碼。若try子句中的代碼沒(méi)有出現(xiàn)異常,則會(huì)忽略except子句而繼續(xù)向下執(zhí)行;若try子句中的代碼出現(xiàn)異常,則會(huì)忽略try子句的剩余代碼,轉(zhuǎn)而執(zhí)行except子句:若try子句出現(xiàn)的異常類型與except子句中指定的異常類型匹配,則執(zhí)行except子句中的代碼,否則按默認(rèn)的方式終止程序的運(yùn)行。1.捕獲單個(gè)異常捕獲單個(gè)異常的方式比較簡(jiǎn)單,只需要在except子句之后指定捕獲的單個(gè)異常類即可,示例代碼如下:num_one=int(input("請(qǐng)輸入被除數(shù):"))num_two=int(input("請(qǐng)輸入除數(shù):"))try:print("結(jié)果為",num_one/num_two)exceptZeroDivisionError:print("出錯(cuò)了")示例9.2.1使用try-except語(yǔ)句捕獲異常為了明確知道異常產(chǎn)生的原因,這里可以在異常類型之后使用關(guān)鍵字as來(lái)獲取異常的具體信息,修改后的代碼如下:9.2.1使用try-except語(yǔ)句捕獲異常num_one=int(input("請(qǐng)輸入被除數(shù):"))num_two=int(input("請(qǐng)輸入除數(shù):"))try:print("結(jié)果為",num_one/num_two)exceptZeroDivisionErroraserror:print(“出錯(cuò)了,原因:",error)示例2.捕獲多個(gè)異常捕獲多個(gè)異常的實(shí)現(xiàn)方式比較多樣,既可以通過(guò)多個(gè)except子句完成,也可以通過(guò)一個(gè)except子句完成。若通過(guò)一個(gè)except子句完成,則需要在關(guān)鍵字except之后以元組形式指定多個(gè)異常類,示例代碼如下:9.2.1使用try-except語(yǔ)句捕獲異常num_one=int(input("請(qǐng)輸入被除數(shù):"))num_two=int(input("請(qǐng)輸入除數(shù):"))try:print("結(jié)果為",num_one/num_two)exceptZeroDivisionErroraserror:print(“出錯(cuò)了,原因:",error)示例3.捕獲全部異常如果要捕獲程序中所有的異常,那么可以將except之后的異常類設(shè)置為Exception,或者省略不寫(xiě)任何異常類。需要注意的是,若是省略異常類,則except子句中將無(wú)法獲取異常的具體信息。示例代碼如下:9.2.1使用try-except語(yǔ)句捕獲異常try:num_one=int(input("請(qǐng)輸入被除數(shù):"))num_two=int(input("請(qǐng)輸入除數(shù):"))print("結(jié)果為",num_one/num_two)exceptExceptionaserror:print("出錯(cuò)了,原因:",error)示例
先定一個(gè)小目標(biāo)!掌握try-except-else語(yǔ)句的使用,能夠在else子句中添加沒(méi)有異常的處理代碼9.2.2try-except-else語(yǔ)句Python中try-except語(yǔ)句還可以與else子句聯(lián)合使用,組成結(jié)構(gòu)更加復(fù)雜的try-except-else語(yǔ)句。當(dāng)程序執(zhí)行try-except-else語(yǔ)句時(shí),若try子句的代碼沒(méi)有產(chǎn)生任何異常,則會(huì)執(zhí)行else子句的代碼。try-except-else語(yǔ)句的語(yǔ)法格式如下:9.2.2try-except-else語(yǔ)句try:
可能出現(xiàn)異常的代碼except[異常類[as異常信息]]:
捕獲異常后的處理代碼else:
沒(méi)有異常的處理代碼語(yǔ)法格式無(wú)論程序是否成功捕獲處理了異常,else子句中的代碼都不會(huì)被執(zhí)行。這意味著只有程序在沒(méi)有異常發(fā)生時(shí),else子句中的代碼才會(huì)執(zhí)行。根據(jù)這個(gè)特點(diǎn),else子句通常用于處理與異常處理相關(guān)的正常流程代碼,例如在處理完異常后繼續(xù)執(zhí)行其他操作,使異常處理邏輯和正常流程代碼能夠明確區(qū)分開(kāi)來(lái)。9.2.2try-except-else語(yǔ)句兩個(gè)數(shù)進(jìn)行除法運(yùn)算時(shí),分別使用except子句和else子句處理除數(shù)為0和除數(shù)不為0的情況,示例代碼如下:first_num=int(input("請(qǐng)輸入被除數(shù):"))second_num=int(input("請(qǐng)輸入除數(shù):"))try:res=first_num/second_numexceptZeroDivisionErroraserror:print('異常原因:',error)else:print(res)示例9.2.2try-except-else語(yǔ)句
先定一個(gè)小目標(biāo)!掌握try-except-finally語(yǔ)句的使用,能夠在finally子句中添加釋放資源的代碼9.2.3try-except-finally語(yǔ)句Python中try-except語(yǔ)句還可以與finally子句聯(lián)合使用,組成結(jié)構(gòu)更加復(fù)雜的try-except-finally語(yǔ)句。當(dāng)程序執(zhí)行try-except-finally語(yǔ)句時(shí),無(wú)論try子句的代碼有沒(méi)有出現(xiàn)異常,都會(huì)執(zhí)行finally子句的代碼。try-except-finally語(yǔ)句的語(yǔ)法格式如下:try:
可能出現(xiàn)異常的代碼except[異常類型[as異常信息]]:
捕獲異常后的處理代碼finally:
一定被執(zhí)行的代碼語(yǔ)法格式9.2.3try-except-finally語(yǔ)句無(wú)論try子句監(jiān)控的代碼是否出現(xiàn)異常,finally子句中的代碼都會(huì)被執(zhí)行,基于此種特性,finally子句一般用于預(yù)設(shè)資源的清理操作,比如關(guān)閉文件、關(guān)閉網(wǎng)絡(luò)連接、關(guān)閉數(shù)據(jù)庫(kù)連接等。例如,使用finally子句執(zhí)行關(guān)閉文件的操作,具體代碼如下:9.2.3try-except-finally語(yǔ)句file=open('test.txt',mode='r',encoding='utf-8')try:file.write("人生苦短,我用Python")exceptExceptionaserror:print("寫(xiě)入文件失敗",error)finally:file.close()print('文件已關(guān)閉')拋出異常9.3
先定一個(gè)小目標(biāo)!9.3.1使用raise語(yǔ)句拋出異常掌握raise語(yǔ)句的使用,能夠在程序中通過(guò)raise語(yǔ)句拋出異常9.3.1使用raise語(yǔ)句拋出異常Python程序中的異常不僅可以自動(dòng)觸發(fā),還可以由開(kāi)發(fā)人員使用raise語(yǔ)句主動(dòng)引發(fā)異常。raise異常類
raise異常類對(duì)象
raise 語(yǔ)法格式以上3種格式都是通過(guò)raise語(yǔ)句拋出異常。第1種格式和第2種格式是對(duì)等的,都會(huì)拋出指定類型的異常,其中第1種格式會(huì)隱式創(chuàng)建一個(gè)該異常類型的對(duì)象,第2種形式會(huì)直接提供一個(gè)該異常類型的對(duì)象;第3種格式用于重新拋出剛剛發(fā)生的異常。1.使用異常類拋出異常使用“raise異常類”語(yǔ)句可以拋出該語(yǔ)句中異常類對(duì)應(yīng)的異常,示例代碼如下:9.3.1使用raise語(yǔ)句拋出異常raiseIndexError“raise異常類”語(yǔ)句在執(zhí)行時(shí)會(huì)先隱式地創(chuàng)建該語(yǔ)句中異常類的對(duì)象,然后才拋出異常。2.使用異常類對(duì)象拋出異常使用“raise異常類對(duì)象”語(yǔ)句可以拋出該語(yǔ)句中異常類對(duì)象對(duì)應(yīng)的異常,示例代碼如下:9.3.1使用raise語(yǔ)句拋出異常raiseIndexError()raise之后的“IndexError()”用于創(chuàng)建異常類對(duì)象,創(chuàng)建異常類對(duì)象時(shí)通過(guò)字符串指定異常的具體信息,示例代碼如下:raiseIndexError('索引超出范圍')#拋出異常及其具體信息3.重新拋出異常使用不帶任何參數(shù)的“raise”語(yǔ)句可以拋出剛剛發(fā)生過(guò)的異常,示例代碼如下:9.3.1使用raise語(yǔ)句拋出異常try:raiseIndexError('索引超出范圍')except:raisetry子句會(huì)捕獲raise語(yǔ)句拋出的異常,except子句會(huì)被執(zhí)行;except子句后的代碼又使用raise語(yǔ)句拋出剛剛發(fā)生的IndexError異常,最終程序因再次拋出異常而終止執(zhí)行。
先定一個(gè)小目標(biāo)!9.3.2使用assert語(yǔ)句拋出異常掌握assert斷言語(yǔ)句的使用,能夠在程序中通過(guò)assert語(yǔ)句拋出異常assert語(yǔ)句又稱為斷言語(yǔ)句,用于在程序運(yùn)行過(guò)程中檢查某些條件是否滿足。如果條件不滿足,assert語(yǔ)句會(huì)拋出一個(gè)AssertionError
異常中斷程序的執(zhí)行。assert語(yǔ)句的語(yǔ)法格式如下所示:assert表達(dá)式[,異常信息]語(yǔ)法格式以上語(yǔ)法格式的assert后面緊跟一個(gè)表達(dá)式,表達(dá)式的值為False時(shí),assert語(yǔ)句會(huì)拋出AssertionError異常,值為True時(shí)不做任何操作。表達(dá)式之后的異常信息是可選的,用來(lái)說(shuō)明出現(xiàn)異常的原因。9.3.2使用assert語(yǔ)句拋出異常9.3.2使用assert語(yǔ)句拋出異常assert語(yǔ)句主要用于開(kāi)發(fā)和調(diào)試階段,用于在程序中插入斷言來(lái)驗(yàn)證開(kāi)發(fā)人員的假設(shè)和預(yù)期,并及早發(fā)現(xiàn)潛在的問(wèn)題和錯(cuò)誤。接下來(lái),使用assert語(yǔ)句判斷用戶輸入的除數(shù)是否為0,示例代碼如下:num_one=int(input("請(qǐng)輸入被除數(shù):"))num_two=int(input("請(qǐng)輸入除數(shù):"))assertnum_two!=0,'除數(shù)不能為0'#assert語(yǔ)句判定num_two不等于0result=num_one/num_twoprint(num_one,'/',num_two,'=',result)
先定一個(gè)小目標(biāo)!9.3.3異常的傳遞了解異常的傳遞,能夠說(shuō)出異常傳遞的特點(diǎn)當(dāng)一個(gè)異常在程序中被拋出后,它會(huì)從觸發(fā)的位置開(kāi)始,沿著程序的執(zhí)行路徑逐級(jí)向上傳遞。如果在當(dāng)前執(zhí)行層沒(méi)有找到處理該異常的代碼,異常就會(huì)繼續(xù)向上傳遞。這一過(guò)程會(huì)持續(xù)進(jìn)行,直到找到能夠處理該異常的代碼或者到達(dá)程序的頂層。如果到達(dá)程序頂層后仍然沒(méi)有找到處理異常的地方,程序?qū)?huì)崩潰,并顯示出相應(yīng)的錯(cuò)誤信息。9.3.3異常的傳遞通過(guò)一個(gè)計(jì)算正方形面積的案例演示異常的傳遞過(guò)程,該案例的代碼有g(shù)et_width()、calc_area()與show_area()這三個(gè)函數(shù),其中g(shù)et_width()函數(shù)用于獲取用戶輸入的正方形邊長(zhǎng),calc_area()函數(shù)用于根據(jù)用戶輸入的邊長(zhǎng)計(jì)算正方形面積,show_area()函數(shù)用于輸出正方形的面積,具體代碼如下。使用remove()函數(shù)刪除文件a.txt的示例使用remove()函數(shù)刪除文件a.txt的示例defget_width():
print("get_width開(kāi)始執(zhí)行")num=int(input("請(qǐng)輸入除數(shù):"))width_len=10/num
print("get_width執(zhí)行結(jié)束")returnwidth_lendefcalc_area():
print("calc_area開(kāi)始執(zhí)行")width_len=get_width()print("calc_area執(zhí)行結(jié)束")returnwidth_len*width_lendefshow_area():
try:print("show_area開(kāi)始執(zhí)行")area_val=calc_area()print(f"正方形的面積是:{area_val}")print("show_area執(zhí)行結(jié)束")exceptZeroDivisionErrorase:print(f"捕捉到異常:{e}")show_area()9.3.3異常的傳遞在get_width()函數(shù)中,使用變量num接收用戶輸入的除數(shù),通過(guò)語(yǔ)句width_len=10/num計(jì)算正方形的邊長(zhǎng),如果num的值為0,那么會(huì)使程序產(chǎn)生異常ZeroDivisionError。因?yàn)間et_width()函數(shù)中并沒(méi)有捕獲處理異常的try-except語(yǔ)句,所以get_width()函數(shù)中產(chǎn)生的異常向上傳遞給calc_area()函數(shù),而calc_area()函數(shù)中也沒(méi)有捕獲與處理異常的try-except語(yǔ)句,只能將異常繼續(xù)向上傳遞給show_area()函數(shù)。9.3.3異常的傳遞自定義列表9.4
先定一個(gè)小目標(biāo)!9.4自定義列表掌握自定義異常的方式,能夠在程序中自定義并處理異常9.4自定義列表雖然Python提供了許多內(nèi)置的異常類,但是在實(shí)際開(kāi)發(fā)過(guò)程中可能出現(xiàn)的問(wèn)題難以預(yù)料,有時(shí)我們需要自定義異常類,以滿足當(dāng)前程序的需求。例如,用戶在注冊(cè)賬戶時(shí)需要限定用戶名或密碼等信息的類型和長(zhǎng)度。自定義異常的方法比較簡(jiǎn)單,只需要?jiǎng)?chuàng)建一個(gè)繼承Exception類或Exception子類的類即可,類名一般以“Error”為結(jié)尾。9.4自定義列表通過(guò)一個(gè)用戶注冊(cè)密碼長(zhǎng)度限制的示例演示自定義異常。classShortInputError(Exception):def__init__(self,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 跨界合作談判跨領(lǐng)域資源的整合
- 八年級(jí)體育“五動(dòng)”教學(xué)法助推合作探究教學(xué)模式深化素材
- 金融行業(yè)財(cái)務(wù)報(bào)告與審計(jì)的特殊性
- 跨境電商平臺(tái)的安全風(fēng)險(xiǎn)與防范措施
- 工程結(jié)算38課件
- 高端商務(wù)酒店室內(nèi)設(shè)計(jì)案例分析
- 云南2025年02月云南省數(shù)據(jù)局所屬事業(yè)單位公開(kāi)招考8名人員筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 上海2025年01月上海市普陀區(qū)教育系統(tǒng)2025年公開(kāi)招考423名教師筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 畢節(jié)醫(yī)學(xué)高等??茖W(xué)校《先秦秦漢史》2023-2024學(xué)年第二學(xué)期期末試卷
- 松原市扶余縣2024-2025學(xué)年四年級(jí)數(shù)學(xué)第二學(xué)期期末質(zhì)量檢測(cè)試題含解析
- 2024年安徽醫(yī)學(xué)高等??茖W(xué)校單招職業(yè)適應(yīng)性測(cè)試題庫(kù)含答案
- 2023-2024學(xué)年人教版六年級(jí)下冊(cè)《負(fù)數(shù) 百分?jǐn)?shù)(二)》測(cè)試卷附答案解析
- 湖北省武漢市洪山區(qū)2024年七年級(jí)下學(xué)期期末數(shù)學(xué)試題附答案
- JT-T-957-2014潛水員培訓(xùn)與考核要求
- 中考英語(yǔ)不規(guī)則動(dòng)詞變化表
- 農(nóng)村勞動(dòng)力情況調(diào)查表(抽樣)
- (完整版)所羅門學(xué)習(xí)風(fēng)格量表
- 商會(huì)成立籌備方案
- 隧道橋過(guò)渡段結(jié)構(gòu)設(shè)計(jì)與分析
- 住院精神疾病患者攻擊行為預(yù)防-護(hù)理團(tuán)標(biāo)
- 雕版印刷術(shù)的發(fā)明《金剛經(jīng)》課件
評(píng)論
0/150
提交評(píng)論