模組的使用
1、import
Python 模組的使用跟其他程式語(yǔ)言也是類(lèi)似的。你要使用某個(gè)模組,在使用之前,必須導(dǎo)入這個(gè)模組。導(dǎo)入模組我們使用關(guān)鍵字 import。
import 的語(yǔ)法基本上如下:
import module1[, module2[,... moduleN]
例如我們使用標(biāo)準(zhǔn)函式庫(kù)模組中的 math 模組。當(dāng)解釋器遇到 import 語(yǔ)句,如果模組在目前的搜尋路徑就會(huì)被導(dǎo)入。
#!/usr/bin/env python3 # -*- coding: UTF-8 -*- import math _author_ = '兩點(diǎn)水' print(math.pi) 輸出的結(jié)果: 3.141592653589793
一個(gè)模組只會(huì)被導(dǎo)入一次,不管你執(zhí)行了多少次 import。這樣可以防止導(dǎo)入模組一遍又一遍地執(zhí)行。
當(dāng)我們使用 import 語(yǔ)句的時(shí)候,Python 解釋器是怎麼找到對(duì)應(yīng)的檔案的呢?
這就牽涉到 Python 的搜尋路徑,搜尋路徑是由一系列目錄名稱(chēng)組成的,Python 解釋器就依序從這些目錄中去尋找所引入的模組。這看起來(lái)很像環(huán)境變量,事實(shí)上,也可以透過(guò)定義環(huán)境變數(shù)的方式來(lái)確定搜尋路徑。搜尋路徑是在 Python 編譯或安裝的時(shí)候決定的,安裝新的函式庫(kù)應(yīng)該也會(huì)修改。搜尋路徑被儲(chǔ)存在sys 模組中的 path 變數(shù) 。
因此,我們可以查一下路徑:
#!/usr/bin/env python # -*- coding: UTF-8 -*- import sys print(sys.path)
輸出結(jié)果:
['C:\Users\Administrator\Desktop\Python\Python8Code', 'G:\PyCharm 2017.1.4\helpers\pycharm', 'C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python36.zip', 'C:\Users\Administrator\AppData\Local\Programs\Python\Python36\DLLs', 'C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib', 'C:\Users\Administrator\AppData\Local\Programs\Python\Python36', 'C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages', 'C:\Users\Administrator\Desktop\Python\Python8Code\com\Learn\module\sys']
2、from···import
有沒(méi)有想過(guò),怎麼直接導(dǎo)入某個(gè)模組中的屬性和方法呢?
Python 中,導(dǎo)入一個(gè)模組的方法我們使用的是import 關(guān)鍵字,這樣做是導(dǎo)入了這個(gè)模組,這裡需要注意了,這樣做只是導(dǎo)入了模組,並沒(méi)有導(dǎo)入模組中具體的某個(gè)屬性或方法的。而我們想要直接導(dǎo)入某個(gè)模組中的某一個(gè)功能,也就是屬性和方法的話(huà),我們可以使用 from···import 語(yǔ)句。
語(yǔ)法如下:
from modname import name1[, name2[, ... nameN]]
看完簡(jiǎn)介後可能會(huì)想, from··import 和 import 方法有啥差別呢?
想知道差異是什麼,觀察下面兩個(gè)例子:
import 導(dǎo)入sys 模組,然後使用version 屬性
3、from ··· import *
#!/usr/bin/env python3 # -*- coding: UTF-8 -*- from sys import * print(version) print(executable)輸出的結(jié)果為:
3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe注意:這提供了一個(gè)簡(jiǎn)單的方法來(lái)導(dǎo)入一個(gè)模組中的所有方法屬性。然而這種聲明不該被過(guò)度使用。