模組的使用

1、import

Python 模組的使用跟其他程式語言也是類似的。你要使用某個模組,在使用之前,必須導入這個模組。導入模組我們使用關鍵字 import。

import 的語法基本上如下:

import module1[, module2[,... moduleN]

例如我們使用標準函式庫模組中的 math 模組。當解釋器遇到 import 語句,如果模組在目前的搜尋路徑就會被導入。

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
import math
_author_ = '两点水'
print(math.pi)
输出的结果:
3.141592653589793

一個模組只會被導入一次,不管你執行了多少次 import。這樣可以防止導入模組一遍又一遍地執行。

當我們使用 import 語句的時候,Python 解釋器是怎麼找到對應的檔案的呢?

這就牽涉到 Python 的搜尋路徑,搜尋路徑是由一系列目錄名稱組成的,Python 解釋器就依序從這些目錄中去尋找所引入的模組。這看起來很像環境變量,事實上,也可以透過定義環境變數的方式來確定搜尋路徑。搜尋路徑是在 Python 編譯或安裝的時候決定的,安裝新的函式庫應該也會修改。搜尋路徑被儲存在sys 模組中的 path 變數 。

因此,我們可以查一下路徑:

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import sys
print(sys.path)

輸出結果:

['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

有沒有想過,怎麼直接導入某個模組中的屬性和方法呢?

Python 中,導入一個模組的方法我們使用的是import 關鍵字,這樣做是導入了這個模組,這裡需要注意了,這樣做只是導入了模組,並沒有導入模組中具體的某個屬性或方法的。而我們想要直接導入某個模組中的某一個功能,也就是屬性和方法的話,我們可以使用 from···import 語句。

語法如下:

from modname import name1[, name2[, ... nameN]]

看完簡介後可能會想, from··import 和 import 方法有啥差別呢?

想知道差異是什麼,觀察下面兩個例子:

import 導入sys 模組,然後使用version 屬性

2bd09ec88415bab29f39a8b2035538c.png

##from· ··import 直接導入version 屬性

c9ef97b247c9ca52f63fc8b914023ae.png

3、from ··· import *

透過上面的學習,我們知道了from sys import version 可以直接導入version 屬性。但是如果我們想使用其他的屬性呢?例如使用 sys 模組中的 executable ,難道又要寫多一句 from sys import executable ,兩個還好,如果三個,四個呢?難道要一直這樣寫下去?

這時候就需要 from ··· import * 語句了,這個語句可以把某個模組中的所有方法屬性都導入。例如:

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
from sys import *
print(version)
print(executable)

輸出的結果為:

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

注意:這提供了一個簡單的方法來導入一個模組中的所有方法屬性。然而這種聲明不該被過度使用。

繼續學習