![Python程序設計基礎項目化教程 課件 項目四 函數(shù)與模塊_第1頁](http://file4.renrendoc.com/view12/M02/37/37/wKhkGWYAALaAD2jWAADVVpPt-FQ136.jpg)
![Python程序設計基礎項目化教程 課件 項目四 函數(shù)與模塊_第2頁](http://file4.renrendoc.com/view12/M02/37/37/wKhkGWYAALaAD2jWAADVVpPt-FQ1362.jpg)
![Python程序設計基礎項目化教程 課件 項目四 函數(shù)與模塊_第3頁](http://file4.renrendoc.com/view12/M02/37/37/wKhkGWYAALaAD2jWAADVVpPt-FQ1363.jpg)
![Python程序設計基礎項目化教程 課件 項目四 函數(shù)與模塊_第4頁](http://file4.renrendoc.com/view12/M02/37/37/wKhkGWYAALaAD2jWAADVVpPt-FQ1364.jpg)
![Python程序設計基礎項目化教程 課件 項目四 函數(shù)與模塊_第5頁](http://file4.renrendoc.com/view12/M02/37/37/wKhkGWYAALaAD2jWAADVVpPt-FQ1365.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
《Python語言程序設計》項目四函數(shù)與模塊Contents函數(shù)的定義與調(diào)用函數(shù)的參數(shù)列表與返回值模塊的使用方法函數(shù)的定義與調(diào)用PART01函數(shù)就是由部分語句集合而成的一個通用的程序功能部件,是Python語言中最基本的組成工具。我們可以在程序中多次調(diào)用函數(shù),令其在程序中執(zhí)行多次。在函數(shù)定義過程中,可以設定函數(shù)的返回值,并且也可以每次改變作為函數(shù)輸入的參數(shù)來得到不同的結(jié)果。以函數(shù)的形式去“包裹”一個具體的操作,使這個操作變成一個可以廣泛應用的工具,這樣在不同情形下我們都可以輕松調(diào)用函數(shù)完成目標操作。前言Python語言中使用函數(shù)分為兩個步驟:定義函數(shù)和調(diào)用函數(shù)。定義函數(shù),即根據(jù)函數(shù)的輸入、輸出和數(shù)據(jù)處理完成函數(shù)代碼的編寫。定義函數(shù)只是規(guī)定了函數(shù)會執(zhí)行什么操作,但并不會真正去執(zhí)行。調(diào)用函數(shù),即真正去執(zhí)行函數(shù)中的代碼,是指根據(jù)傳入的數(shù)據(jù)完成特定的運算,并將運算結(jié)果返回到函數(shù)調(diào)用位置的過程。函數(shù)的定義與調(diào)用函數(shù)的定義與調(diào)用【任務描述】了解函數(shù)的定義與調(diào)用【關(guān)鍵步驟】了解函數(shù)的定義與調(diào)用示例011 defCalCircleArea():#定義名字為CalCircleArea的函數(shù)2 s=3.14*3*3#計算半徑為3的圓的面積3 print('半徑為3的圓的面積為:%.2f'%s)#將計算結(jié)果輸出4 CalCircleArea()#調(diào)用函數(shù)CalCircleArea示例程序執(zhí)行完畢后,將在屏幕上輸出28.26。函數(shù)的定義與調(diào)用示例01流程圖程序運行后,會直接執(zhí)行第4行代碼CalCircleArea(),然后通過該函數(shù)調(diào)用轉(zhuǎn)去執(zhí)行第1-3行的代碼。CalCircleArea函數(shù)執(zhí)行結(jié)束后,會回到函數(shù)調(diào)用位置繼續(xù)執(zhí)行,因為后面沒有其他代碼,所以程序結(jié)束。函數(shù)的定義與調(diào)用參數(shù)列表與返回值PART02參數(shù)列表與返回值實際上就是實現(xiàn)一個函數(shù)的輸入和輸出功能。通過函數(shù)的參數(shù)列表,可以為函數(shù)傳入待處理的數(shù)據(jù),從而使得一個函數(shù)更加通用。通過返回值,可以將函數(shù)的計算結(jié)果返回到函數(shù)調(diào)用的位置,從而可以利用函數(shù)調(diào)用返回的結(jié)果再去做其他運算。參數(shù)列表與返回值計算零件面積對于計算圓面積的函數(shù)CalCircleArea,可以將半徑r作為參數(shù),這樣每次調(diào)用CalCircleArea函數(shù)時只要傳入不同的半徑值,函數(shù)就可以自動計算出傳入半徑所對應的圓的面積。我們要計算零件的面積,則需要先計算半徑分別為r1和r2的圓的面積C1和C2,以及邊長分別為d11和d12、d21和d22的兩個長方形的面積S1和S2,然后通過計算C1-C2-S1-S2或C1-(C2+S1+S2)得到零件面積。參數(shù)列表與返回值參數(shù)列表與返回值【任務描述】了解參數(shù)列表與返回值了解形參與實參的作用【關(guān)鍵步驟】了解參數(shù)列表與返回值了解形參與實參的作用示例021 defCalCircleArea(r):#定義名字為CalCircleArea的函數(shù)2 s=3.14*r*r#計算半徑為r的圓的面積3 print('半徑為%.2f的圓的面積為:%.2f'%(r,s))#將計算結(jié)果輸出4 defCalRectArea(a,b):#定義名字為CalRectArea的函數(shù)5 s=a*b#計算邊長分別為a和b的長方形的面積6 print('邊長為%.2f和%.2f的長方形的面積為:%.2f'%(a,b,s))#將計算結(jié)果輸出形參是定義函數(shù)時函數(shù)名后面的一對小括號中給出的參數(shù)列表。形參的作用是接收函數(shù)調(diào)用時傳入的參數(shù)值。參數(shù)列表與返回值示例021 a=eval(input('請輸入圓的半徑:'))2 CalCircleArea(a)3 x=eval(input('請輸入長方形的一條邊長:'))4 y=eval(input('請輸入長方形的另一條邊長:'))5 CalRectArea(x,y)實參是在調(diào)用函數(shù)時函數(shù)名后面的小括號中給出的參數(shù)列表。當調(diào)用函數(shù)時,會將實參的值傳遞給對應的形參。執(zhí)行程序后,如果輸入圓的半徑為3,輸入長方形的兩條邊長分別為3.5和2,則在屏幕上會輸出如下結(jié)果:請輸入圓的半徑:3半徑為10.00的圓的面積為:28.26請輸入長方形的一條邊長:3.5請輸入長方形的另一條邊長:2邊長為3.50和2.00的長方形的面積為:7.00參數(shù)列表與返回值示例02當實參傳遞給形參后,如果在函數(shù)體中對形參值做修改,則該修改并不會影響實參,即實參值不會改變。但如果實參是列表等對象時,可在函數(shù)體中通過形參修改實參列表中對應元素的值。同時定義多個變量定義多個變量【任務描述】了解多個變量的定義和使用方法【關(guān)鍵步驟】了解多個變量的定義和使用方法示例031 defModifyVal(x,y):#ModifyVal函數(shù)定義2 x=y#將y的值賦給形參x3 defModifyListElement(ls,idx,val):#ModifyListElement函數(shù)定義4 ls[idx]=val#將ls中下標為idx的元素值賦為val5 a,b=5,10#a和b的值分別賦為5和106 print(a,b)#輸出5和107 ModifyVal(a,10)#調(diào)用ModifyVal函數(shù)試圖將a賦為10,但實際不會修改a的值8 print(a,b)#仍輸出5和109 c=[1,2,3]#c的值賦為[1,2,3]10 print(c)#輸出[1,2,3]11 ModifyVal(c,[4,5,6])#調(diào)用ModifyVal函數(shù)試圖將c賦為[4,5,6],但實際不會修改12 print(c)#仍輸出[1,2,3]13 ModifyListElement(c,1,5)#調(diào)用ModifyListElement函數(shù)將下標為1的元素賦為514 print(c)#輸出[1,5,3]定義多個變量示例03
程序執(zhí)行結(jié)束后,會在屏幕上輸出如下結(jié)果:510510[1,2,3][1,2,3][1,5,3]示例03默認參數(shù)【任務描述】了解自定義函數(shù)中的默認參數(shù)【關(guān)鍵步驟】了解自定義函數(shù)中的默認參數(shù)示例041 defStudentInfo(name,country='中國'):#參數(shù)country的默認參數(shù)值為'中國'2 print('姓名:%s,國家:%s'%(name,country))3 StudentInfo('李曉明')#這里沒有給country傳實參值,但因為有默認參數(shù)所以不會出錯4 StudentInfo('大衛(wèi)','美國')#給country傳了實參,則不再使用默認參數(shù)函數(shù)的默認參數(shù)就是缺省參數(shù),即當調(diào)用函數(shù)時,如果沒有為某些形參傳遞對應的實參,則這些形參會自動使用默認參數(shù)值。程序執(zhí)行完畢后,將在屏幕上輸入如下結(jié)果:姓名:李曉明,國家:中國姓名:大衛(wèi),國家:美國默認參數(shù)示例04關(guān)鍵字參數(shù)【任務描述】了解關(guān)鍵字參數(shù)的使用方式【關(guān)鍵步驟】了解關(guān)鍵字參數(shù)的使用方式示例051 defStudentInfo(name,chineselevel='良好',country='中國'):2 print('姓名:%s,中文水平:%s,國家:%s'%(name,chineselevel,country))3 StudentInfo('李曉明')4 StudentInfo('大衛(wèi)',country='美國')5 StudentInfo(country='美國',chineselevel='一般',name='約翰')關(guān)鍵字參數(shù)的形式為“形參=實參”程序執(zhí)行完畢后,將在屏幕上輸入如下結(jié)果:姓名:李曉明,國家:中國姓名:大衛(wèi),國家:美國關(guān)鍵字參數(shù)示例05def函數(shù)名([普通形參列表,]*不定長參數(shù)名[,普通形參列表]):
函數(shù)體或def函數(shù)名([普通形參列表,]**不定長參數(shù)名):
函數(shù)體不定長參數(shù),即在調(diào)用函數(shù)時可以接收任意數(shù)量的實參,這些實參在傳遞給函數(shù)時會被封裝成元組(位置參數(shù))或字典(關(guān)鍵字參數(shù))形式。第一種定義方法使用“*不定長參數(shù)名”的方式,表示這個不定長參數(shù)對應的是一組位置參數(shù);而第二種定義方法使用“**不定長參數(shù)名”的方式,表示這個不定長參數(shù)對應的是一組關(guān)鍵字參數(shù)。不定長參數(shù)不定長參數(shù)【任務描述】了解不定長參數(shù)的使用方法【關(guān)鍵步驟】了解不定長參數(shù)的使用方法示例051 defStudentInfo1(name,*args):#定義函數(shù)StudentInfo12 print('姓名:',name,',其他:',args)3 defStudentInfo2(name,**args):#定義函數(shù)StudentInfo24 print('姓名:',name,',其他:',args)5 defStudentInfo3(name,*args,country='中國'):#定義函數(shù)StudentInfo36 print('姓名:',name,',國家:',country,',其他:',args)7 StudentInfo1('李曉明','良好','中國')8 StudentInfo2('李曉明',中文水平='良好',國家='中國')9 StudentInfo3('李曉明',19,'良好')10 StudentInfo3('大衛(wèi)',19,'良好',country='美國')不定長參數(shù)示例05程序執(zhí)行完畢后,將會輸出如下結(jié)果:姓名:李曉明,其他:('良好','中國')姓名:李曉明,其他:{'中文水平':'良好','國家':'中國'}姓名:李曉明,國家:中國,其他:(19,'良好')姓名:大衛(wèi),國家:美國,其他:(19,'良好')示例05拆分參數(shù)列表【任務描述】了解列表、元組或字典形式參數(shù)的拆分【關(guān)鍵步驟】了解列表、元組或字典形式參數(shù)的拆分示例071 defSumVal(*args):#定義函數(shù)SumVal2 sum=03 foriinargs:4 sum+=i5 print('求和結(jié)果為:',sum)6 ls=[3,5.2,7,1]7 SumVal(ls[0],ls[1],ls[2],ls[3])如果一個函數(shù)所需要的參數(shù)已經(jīng)存儲在了列表、元組或字典中,則可以直接從列表、元組或字典中拆分出來函數(shù)所需要的這些參數(shù),其中列表、元組拆分出來的結(jié)果作為位置參數(shù),而字典拆分出來的結(jié)果作為關(guān)鍵字參數(shù)。程序運行結(jié)束后,將在屏幕上輸出如下結(jié)果:求和結(jié)果為:16.2實際上,第7行代碼可以簡寫為SumVal(*ls)。拆分參數(shù)列表示例071 defStudentInfo(name,chineselevel,country):#定義函數(shù)StudentInfo2 print('姓名:%s,中文水平:%s,國家:%s'%(name,chineselevel,country))3 d={'country':'中國','chineselevel':'良好','name':'李曉明'}4 StudentInfo(**d)將字典的拆分結(jié)果作為函數(shù)的關(guān)鍵字參數(shù)。程序運行結(jié)束后,將在屏幕上輸出如下結(jié)果:姓名:李曉明,中文水平:良好,國家:中國拆分參數(shù)列表示例07函數(shù)返回值【任務描述】使用return獲取函數(shù)返回值【關(guān)鍵步驟】使用return獲取函數(shù)返回值示例031 defCalCircleArea(r):#定義函數(shù)CalCircleArea2 return3.14*r*r#通過return語句將計算得到的圓面積返回3 defCalRectArea(a,b):#定義函數(shù)CalRectArea4 returna*b#通過return語句將計算得到的長方形面積返回5 r1,r2,d11,d12,d21,d22=10,1,4,5,6,56 C1=CalCircleArea(r1)#計算大圓的面積7 C2=CalCircleArea(r2)#計算小圓的面積8 S1=CalRectArea(d11,d12)#計算第一個長方形面積9 S2=CalRectArea(d21,d22)#計算第二個長方形面積10 A=C1-C2-S1-S2#大圓面積依次減去小圓和兩個長方形面積,即得到零件面積11 print('零件面積為:%.2f'%A)#將零件面積輸出return語句將函數(shù)中的運算結(jié)果返回到函數(shù)調(diào)用的位置。程序運行結(jié)束后,將在屏幕上輸出如下結(jié)果:零件面積為:260.86函數(shù)返回值示例081 defGetList():#定義函數(shù)GetList2 return[1,2,3]#將包含3個元素的列表返回3 defGetTuple():#定義函數(shù)GetTuple4 return(1,2,3)#將包含3個元素的元組返回5 defGetElements():#定義函數(shù)GetElements6 return1,2,3#返回3個數(shù)值數(shù)據(jù),實際上會將這3個數(shù)據(jù)封裝成一個元組返回7 print(type(GetList()))8 print(GetList())9 print(type(GetTuple()))10 print(GetTuple())11 print(type(GetElements()))12 print(GetElements())通過return不僅能夠返回數(shù)值數(shù)據(jù),也可以返回字符串、列表、元組等數(shù)據(jù)。函數(shù)返回值示例08程序運行結(jié)束后,將在屏幕上輸出如下結(jié)果:<class'list'>[1,2,3]<class'tuple'>(1,2,3)<class'tuple'>(1,2,3)示例08模塊PART03按照代碼功能的不同,將代碼分門別類地放在不同的腳本文件中,這些腳本文件就稱為是模塊(Module)。當要使用一個模塊中的某些功能時,我們可以通過import方式將該模塊導入。模塊importmodel1importmodel2 …importmodelN或importmodel1,model2,...,modelN使用import語句導入模塊語法如下:Import加載模塊【任務描述】了解import和fromimport的使用方法了解包的含義和加載【關(guān)鍵步驟】了解import和fromimport的使用方法了解包的含義和加載示例091 defPrintFib(n):#定義函數(shù)PrintFib,輸出斐波那契數(shù)列的前n項2 a,b=1,1#將a和b都賦為13 foriinrange(1,n+1):#i的取值依次為1,2,…,n4 print(a,end='')#輸出斐波那契數(shù)列的第i項5 a,b=b,a+b#更新斐波那契數(shù)列第i+1項的值,并計算第i+2項的值6 print()#輸出一個換行7 defGetFib(n):#定義函數(shù)GetFib,返回斐波那契數(shù)列的前n項8 fib=[]#定義一個空列表fib9 a,b=1,1#將a和b都賦為110 foriinrange(1,n+1):#i的取值依次為1,2,…,n11 fib.append(a)#將斐波那契數(shù)列的第i項存入列表fib中12 a,b=b,a+b#更新斐波那契數(shù)列第i+1項的值,并計算第i+2項的值13 returnfib#將列表fib返回14 PrintFib(10)#調(diào)用PrintFib輸出斐波那契數(shù)列前10項15 ls=GetFib(10)#調(diào)用GetFib函數(shù)獲取斐波那契數(shù)列前10項組成的列表16 print(ls)#輸出列表ls中的元素定義一個名字為fibo.py的腳本文件,其中包括PrintFib和GetFib兩個函數(shù)的定義。加載模塊示例09程序執(zhí)行完畢后,將在屏幕上輸出如下結(jié)果:11235813213455[1,1,2,3,5,8,13,21,34,55]示例091 importfibo#導入fibo模塊2 fibo.PrintFib(5)#調(diào)用fibo模塊中的PrintFib函數(shù),輸出斐波那契數(shù)列前5項3 ls=fibo.GetFib(5)#調(diào)用fibo模塊中的GetFib函數(shù),得到斐波那契數(shù)列前5項的列表4 print(ls)#輸出ls中保存的斐波那契數(shù)列前5項再定義一個名字為testfibo.py的腳本文件。
程序執(zhí)行完畢后,將在屏幕上輸出如下結(jié)果:
11235813213455[1,1,2,3,5,8,13,21,34,55]11235[1,1,2,3,5]加載模塊示例09導入模塊后,如果要使用該模塊中定義的標識符,則需要通過“模塊名.標識符名”的方式。從程序輸出結(jié)果可以看到,雖然我們只在testfibo.py中輸出了斐波那契數(shù)列的前5項,但當我們importfibo時,fibo.py中第14至16行代碼也執(zhí)行了,所以會同時輸出斐波那契數(shù)列的前10項數(shù)據(jù)。示例09希望一個腳本文件,單獨運行時就執(zhí)行這些語句;而作為模塊導入時,就不執(zhí)行這些語句。要實現(xiàn)這個功能,需要用到每個模塊中都有的一個全部變量__name__。__name__的作用是獲取當前模塊的名稱,如果當前模塊是單獨執(zhí)行的,則其__name__的值就是__main__;否則,如果是作為模塊導入,則其__name__的值就是模塊的名字。加載模塊示例09module.py1 print(__name__)#輸出全局變量__name__的值testmodule.py1 importmodule#導入module模塊當我們執(zhí)行module.py時,會在屏幕上輸出:__main__;而當我們執(zhí)行testmodule.py時,則會在屏幕上輸出:module。即module.py單獨運行和作為模塊導入時其__name__的值是不同的。加載模塊示例09修改后的fibo.py1 defPrintFib(n):#定義函數(shù)PrintFib,輸出斐波那契數(shù)列的前n項2 a,b=1,1#將a和b都賦為13 foriinrange(1,n+1):#i的取值依次為1,2,…,n4 print(a,end='')#輸出斐波那契數(shù)列的第i項5 a,b=b,a+b#更新斐波那契數(shù)列第i+1項的值,并計算第i+2項的值6 print()#輸出一個換行7 defGetFib(n):#定義函數(shù)GetFib,返回斐波那契數(shù)列的前n項8 fib=[]#定義一個空列表fib9 a,b=1,1#將a和b都賦為110 foriinrange(1,n+1):#i的取值依次為1,2,…,n11 fib.append(a)#將斐波那契數(shù)列的第i項存入列表fib中12 a,b=b,a+b#更新斐波那契數(shù)列第i+1項的值,并計算第i+2項的值13 returnfib#將列表fib返回14 if__name__=='__main__':#只有單獨執(zhí)行fibo.py時該條件才成立15 PrintFib(10)#調(diào)用PrintFib輸出斐波那契數(shù)列前10項16 ls=GetFib(10)#調(diào)用GetFib函數(shù)獲取斐波那契數(shù)列前10項組成的列表17 print(ls)#輸出列表ls中的元素加載模塊示例09此時,當執(zhí)行fibo.py時,將在屏幕上輸出如下結(jié)果:11235813213455[1,1,2,3,5,8,13,21,34,55]當執(zhí)行testfibo.py時,將在屏幕上輸出如下結(jié)果:11235[1,1,2,3,5]加載模塊示例09除了可以導入自己編寫的模塊外,也可以直接導入系統(tǒng)提供的模塊,使用其中的功能。例如,我們可以通過sys模塊獲取運行Python腳本時傳入的參數(shù),如下面的代碼所示。1 importfibo#導入fibo模塊2 importsys#導入系統(tǒng)提供的sys模塊3 n=int(sys.argv[1])#通過sys模塊的argv獲取執(zhí)行腳本時傳入的參數(shù)4 fibo.PrintFib(n)#調(diào)用fibo模塊中的PrintFib函數(shù),輸出斐波那契數(shù)列前n項5 ls=fibo.GetFib(n)#調(diào)用fibo模塊中的GetFib函數(shù),得到斐波那契數(shù)列前n項的列表6 print(ls)#輸出ls中保存的斐波那契數(shù)列前n項加載模塊示例09在系統(tǒng)控制臺下,如果執(zhí)行“pythontestfibo.py5”,則會輸出如下結(jié)果:11235[1,1,2,3,5]如果執(zhí)行“pythontestfibo.py10”,則會輸出如下結(jié)果:11235813213455[1,1,2,3,5,8,13,21,34,55]示例09可以使用fromimport將模塊中的標識符(變量名、函數(shù)名等)直接導入當前環(huán)境,這樣我們在訪問這些標識符時就不再需要指定模塊名。from模塊名import標識符1,標識符2,...,標識符N加載模塊示例091 fromfiboimportPrintFib,GetFib#導入fibo模塊中的PrintFib和GetFib2 PrintFib(5)#忽略fibo模塊名直接調(diào)用PrintFib函數(shù)3 ls=GetFib(5)#忽略fibo模塊名直接調(diào)用GetFib函數(shù)4 print(ls)#輸出ls中保存的斐波那契數(shù)列前5項數(shù)據(jù)程序執(zhí)行結(jié)束后,將在屏幕上輸出如下結(jié)果:11235[1,1,2,3,5]加載模塊示例091 fromfiboimportPrintFib#只導入fibo模塊中的PrintFib2 PrintFib(5)#忽略fibo模塊名直接調(diào)用PrintFib函數(shù)程序執(zhí)行結(jié)束后,將在屏幕上輸出如下結(jié)果:11235也可以改為只導入一個模塊中的部分標識符,如下面的代碼所示:加載模塊示例091 importfiboasf#導入fibo模塊,并為fibo起了個別名f2 f.PrintFib(5)#調(diào)用fibo模塊中的PrintFib函數(shù),輸出斐波那契數(shù)列前5項無論是利用import導入模塊、還是用fromimport導入模塊中的標識符,在導入的同時都可以使用as為模塊或標識符起別名。1 fromfiboimportPrintFibaspf#導入fibo模塊中的PrintFib,并重命名為pf2 pf(5)#調(diào)用fibo模塊中的PrintFib函數(shù),輸出斐波那契數(shù)列前5項加載模塊示例09Python中的包(Package)的作用與操作系統(tǒng)中文件夾的作用相似,利用包可以將多個關(guān)系密切的模塊組成在一起,一方面方便進行各腳本文件的管理,另一方面可以有效避免模塊命名沖突問題。定義一個包,就是創(chuàng)建一個文件夾并在該文件夾下創(chuàng)建一個__init__.py文件,文件夾的名字就是包名。另外,可以根據(jù)需要在該文件夾下再創(chuàng)建子文件夾,子文件夾中創(chuàng)建一個__init__.py文件,則又形成了一個子包。模塊可以放在任何一個包或子包中,在導入模塊時需要指定所在的包和子包的名字。例如,如果要導入包A中的模塊B,則需要使用“importA.B”。包sound/頂級包
__init__.py初始化這個聲音包
formats/文件格式轉(zhuǎn)換子包
__init__.py wavread.py wavwrite.py aiffread.py aiffwrite.py auread.py auwrite.py ... effects/音效子包 __init__.py echo.py surround.py reverse.py ... filters/過濾器子包 __init__.py equalizer.py vocoder.py karaoke.py ...下面通過Python官方文檔中的一個例子理解包的結(jié)構(gòu)和使用方法。下面是關(guān)于聲音數(shù)據(jù)處理的包結(jié)構(gòu):包如果要使用sound包的effects子包的echo模塊,則可以通過下面方式導入:importsound.effects.echo假設在echo模塊中有一個echofilter函數(shù),則調(diào)用該函數(shù)時必須指定完整的名字(包括各層的包名和模塊名),即:fromsound.effectsimportecho也可以使用fromimport方式導入包中的模塊,如:sound.effects.echo.echofilter(實參列表)echo.echofilter(實參列表)通過這種方式,也可以正確導入sound包的effects子包的echo模塊,而且在調(diào)用echo模塊中的函數(shù)時不需要加包名:包使用fromimport也可以直接導入模塊中的標識符,如:fromsound.effects.echoimportechofilter這里直接導入了echo模塊中的echofilter函數(shù),此時調(diào)用echofilter函數(shù)可直接寫作:echofilter(實參列表)包猴子補丁是指在運行時動態(tài)替換已有的代碼,而不需要修改原始代碼。1 defSum(a,b):#定義
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/TR 41019:2024 EN Facility managements role in sustainability,resilience and adaptability
- 2025年度校園基礎設施裝修改造工程合同
- 2025年度房產(chǎn)居間合同:旅游地產(chǎn)項目開發(fā)合作協(xié)議
- 2025年度標前協(xié)議模板:XX基礎設施建設合作前期協(xié)議
- 2025年度酒店客房預訂客戶投訴處理合同
- 2025年度博物館安防監(jiān)控設備采購與安裝合同
- 學期班級教學活動工作任務計劃
- 學期閱讀推廣活動計劃
- 社區(qū)文藝活動計劃
- 生物教育在新時代的挑戰(zhàn)與機遇計劃
- 加油站新員工入職心得體會(篇)
- 國有金融企業(yè)年金管理辦法
- 最簡單個人簡歷模板
- 物業(yè)服務有限公司突發(fā)停電應急處理流程圖
- 安全學原理第2版-ppt課件(完整版)
- 2022年《民法學一》課程教案
- 收展基本法大賽試題及答案
- 老年人的跌倒預防課件
- 2022年山西省中考物理試題(含答案)
- QC成果:預制扭王字塊體表面缺陷控制知識分享
- 《水上加油站安全與防污染技術(shù)要求》J
評論
0/150
提交評論