1. 模塊
Python中有很多功能強(qiáng)大的模塊,這些模塊有的存在于Python系統(tǒng)庫中,有的存在于第三方庫中,這些模塊會為我們提供各種各樣的功能。
我們舉個(gè)例子來形容一下模塊,我們在準(zhǔn)備一個(gè)新房的時(shí)候,我們會在里面置備一些物品,例如電飯煲、微波爐、電話、電腦等,電飯煲為我們提供煲飯、煲粥、蒸米飯等功能,微波爐為我們提供低溫加熱、中溫加熱、高溫加熱等功能,手機(jī)為我們提供接電話、打電話、存號碼等功能、電腦為我們提供編程、查閱資料、網(wǎng)絡(luò)維護(hù)等功能。如果我們再買來一臺榨汁機(jī),榨汁機(jī)為我們提供了榨果汁、做奶昔、做果醬等功能。
對于上面的例子,我們可以把電飯煲、微波爐、電話、電腦等最初就在家中準(zhǔn)備好的物品看作是內(nèi)部模塊,我們在家中就可以直接使用它們的功能,也就是說我們只要把這個(gè)物品拿出來我們就可以使用,而后來買的榨汁機(jī),我們可以看作是我們從第三方庫中引入的模塊,我們只要從第三方庫中買來之后,我們才可以拿出來使用它的一系列功能。我們總結(jié)一下,內(nèi)部模塊就是存儲在內(nèi)部可以直接調(diào)用的模塊,調(diào)用了這個(gè)模塊我們就可以使用它的功能,而第三方庫中的模塊則是需要我們先下載,下載完之后我們才可以調(diào)用來使用。
看下面的示意圖:
我們再來看一個(gè)例子,我們在前面曾多次提到過random模塊,在random模塊中為我們提供了一系列的功能,我們在這里簡單的使用一下這個(gè)模塊。
import random#從系統(tǒng)庫中引入這個(gè)模塊 test = random.randint(1,10)#使用random模塊中的randint()方法 print('生成一個(gè)隨機(jī)數(shù):',test)
輸出結(jié)果:
生成一個(gè)隨機(jī)數(shù): 3
要注意的是,當(dāng)我們使用模塊中的功能時(shí)一定要先引入這個(gè)模塊,如果不引入會出現(xiàn)下面的情況:
Traceback (most recent call last): File "C:/ts.py", line 2, in <module> test = random.randint(1,10)#使用random模塊中的randint()方法 NameError: name 'random' is not defined
我們在導(dǎo)入了模塊名之后就可以使用模塊中的所有方法。
下面我們來介紹一下模塊的幾種調(diào)用方式。
1) import 模塊名
這種方式就是我們常用的調(diào)用方式,直接調(diào)用了模塊中的所有方法,我們可以直接在程序中使用。
例如:
當(dāng)我們調(diào)用了random之后,我們在使用的時(shí)候可以看到它所包含的一系列方法。
2) import 模塊名 as 別名(注意在命名的時(shí)候不要使用符號)
import math as t test = t.cos(2.5) print(test)
輸出結(jié)果為:
-0.8011436155469337
這種方式等同于給這個(gè)模塊又取了一個(gè)名字,我們可以通過這個(gè)別名來使用模塊中的方法。
3) from 模塊名 import 函數(shù)名
from random import randint test = randint(1,10) print(test)
輸出結(jié)果為:
9
這種方式僅僅調(diào)用了模塊中的一個(gè)函數(shù),我們在使用這函數(shù)的時(shí)候可以直接使用。
如果使用這個(gè)模塊中的其他方法,則會出現(xiàn)錯(cuò)誤信息。
2. 總結(jié)
關(guān)于模塊的基礎(chǔ)內(nèi)容就講到這里,關(guān)于模塊的調(diào)用方式,我們在使用的時(shí)候適當(dāng)?shù)倪x擇,一般來說我們會采用第三種方式去使用某一種方法,避免我們的程序中因?yàn)樽兞棵湍K中的名字相同而出現(xiàn)錯(cuò)誤,下一節(jié)我們來介紹一下自定義模塊。
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:
一點(diǎn)編程也不會寫的:零基礎(chǔ)C語言學(xué)練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程
從零到寫出一個(gè)爬蟲的Python編程課程
只會語法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程