Python基礎(chǔ)教程 課件 項(xiàng)目八 Python模塊_第1頁
Python基礎(chǔ)教程 課件 項(xiàng)目八 Python模塊_第2頁
Python基礎(chǔ)教程 課件 項(xiàng)目八 Python模塊_第3頁
Python基礎(chǔ)教程 課件 項(xiàng)目八 Python模塊_第4頁
Python基礎(chǔ)教程 課件 項(xiàng)目八 Python模塊_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

項(xiàng)目八Python模塊任務(wù)8.2CONTENTS目錄創(chuàng)建模塊任務(wù)8.1簡(jiǎn)單模塊的使用方法任務(wù)8.1簡(jiǎn)單的模塊的使用方法在Python語言中,使用import關(guān)鍵字可以導(dǎo)入整個(gè)模塊,其語法格式如下:8.1.1導(dǎo)入整個(gè)模塊import模塊名[as別名]調(diào)用模塊中的函數(shù)的語法格式如下:模塊名.函數(shù)名示例代碼如下:>>>importmath>>>math.sqrt(5)2.23606797749979當(dāng)編程人員需要用到模塊中特定的某個(gè)函數(shù)時(shí),可以只導(dǎo)入這個(gè)函數(shù),其語法格式如下:8.1.2導(dǎo)入特定的函數(shù)from模塊名import函數(shù)名[as別名]【例8-2】導(dǎo)入模塊中特定的函數(shù)。程序代碼如下:frommathimportsqrt#導(dǎo)入模塊中特定的函數(shù)fromrandomimportrandintasr #給導(dǎo)入的特定函數(shù)指定別名rprint("導(dǎo)入模塊中特定函數(shù)的應(yīng)用\n")number_1=50print(sqrt(number_1))

#不需要使用模塊名作為前綴a=r(1,100)

#使用函數(shù)別名print(a)Python語言允許將一個(gè)模塊中的所有內(nèi)容(包括函數(shù)和變量等)導(dǎo)入當(dāng)前的程序,可以直接使用模塊中的所有函數(shù)而不再使用模塊名作為前綴,其語法格式如下:8.1.3導(dǎo)入模塊中所有函數(shù)from模塊名import*雖然這種方式寫起來比較簡(jiǎn)單,但是一般不這樣使用,因?yàn)檫@樣做會(huì)降低代碼的可讀性,同時(shí),也會(huì)導(dǎo)致命名空間的混亂。示例代碼如下:>>>frommathimport*

#導(dǎo)入標(biāo)準(zhǔn)庫math中的所有內(nèi)容>>>pi

#常數(shù)3.141592653589793>>>e2.718281828459045

#常數(shù)>>>log2(8)

#計(jì)算以2為底的對(duì)數(shù)3.0Python解釋器搜索模塊位置的順序如下:(1)搜索當(dāng)前目錄,如果不在當(dāng)前目錄,則搜索在shell變量PYTHONPATH下的每個(gè)目錄。(2)如果都找不到,則Python會(huì)繼續(xù)查看默認(rèn)路徑。搜索路徑存儲(chǔ)在sys模塊中的path變量?jī)?nèi),可以通過代碼來驗(yàn)證,具體如下:8.1.4Python搜索路徑>>>importsys>>>print(sys.path)[′′,′C:\\Python\\Python3.11\\Lib\\idlelib′,′C:\\Python\\Python3.11\\python3.11.zip′,′C:\\Python\\Python3.11\\DLLs′,′C:\\Python\\Python3.11\\Lib′,′C:\\Python\\Python3.11′,′C:\\Python\\Python3.11\\Lib\\site-packages′]任務(wù)8.2創(chuàng)建模塊【例8-3】編寫程序,創(chuàng)建“test”模塊,并使用模塊中的函數(shù)。程序代碼如下:defmin_0(x,y):

#自定義計(jì)算較小值函數(shù)ifx>y: #如果x>y成立,則返回y的值returnyelse: #否則返回x的值returnxdefadd_0(a,b): #自定義計(jì)算兩數(shù)之和函數(shù)returna+b8.2.1模塊的創(chuàng)建為了解決測(cè)試代碼不在主調(diào)程序中執(zhí)行的問題,Python語言提供了一個(gè)“name”屬性?!皀ame”屬性識(shí)別程序的方式是:每個(gè)Python模塊在運(yùn)行時(shí)都會(huì)有一個(gè)“name”屬性,如果作為模塊導(dǎo)入,則其“name”屬性的值被自動(dòng)設(shè)置為模塊名;如果作為程序直接運(yùn)行,則其“name”屬性的值被自動(dòng)設(shè)置為字符串“main”。在模塊被引用時(shí),如果模塊中的某一程序塊不執(zhí)行,則編程人員可以通過判斷“name”屬性的值來實(shí)現(xiàn)。例如,上述“test.py”文件的代碼可做如下修改:8.2.2“__name__”屬性defmin_0(x,y):

#自定義計(jì)算較小值函數(shù)ifx>y: #如果x>y成立,則返回y的值returnyelse:

#否則返回x的值returnx"name"defadd_0(a,b): #自定義計(jì)算兩數(shù)之和函數(shù)returna+b#用于測(cè)試ifname==′main′: #識(shí)別當(dāng)前的運(yùn)行方式

print(′這是用于測(cè)試的代碼′)

print("-------------------------")

r=min_0(20,15)

print(′測(cè)試20和15的較小值為:′,r)

p=add_0(20,15)

print(′測(cè)試20和15的和為:′,p)8.2.2“__name__”屬性dir([object])8.2.3dir()函數(shù)和reload()函數(shù)1.dir()函數(shù)dir()函數(shù)的語法格式如下:示例代碼如下:>>>importstring #導(dǎo)入內(nèi)建string模塊>>>dir(string)[′Formatter′,′Template′,′_ChainMap′,′all′,′builtins′,′cached′,′doc′,′file′,′loader′,′name′,′package′,′spec′,′_re′,′_sentinel_dict′,′_string′,′ascii_letters′,′ascii_lowercase′,′ascii_uppercase′,′capwords′,′digits′,′hexdigits′,′octdigits′,′printable′,′punctuation′,′whitespace′]reload(module_name)8.2.3dir()函數(shù)和reload()函數(shù)2.reload()函數(shù)reload()函數(shù)的語法格式如下:其中,module_name表示一個(gè)模塊對(duì)象,其返回值也是一個(gè)模塊對(duì)象。示例代碼如下:>>>importsys,importlib#導(dǎo)入sys模塊和importlib包>>>importlib.reload(sys)<module′sys′(built-in)>8.2.4Python語言中的包包是Python模塊文件所在的目錄,且該目錄下必須存在“init.py”文件(文件內(nèi)容可以為空)。常見的package_a包和package_b包結(jié)構(gòu)如下:package_a|——init.py|——module_a1.py|——module_a2.py|——module_a3.pypackage_b|——init.py|——module_b1.py|——module_b2.py|——module_b3.pymain.py8.2.4Python語言中的包如果“main.py”文件需要引用package_a包中的module_a1模塊,則可以使用下列語句實(shí)現(xiàn):frompackage_aimportmodule_a1importpackage_a.module_a1在pack

溫馨提示

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