匯入模組

使用 import 語句:

>>> import random
>>> print(random.randint(1, 10))
4

import module 將匯入一個模組,然後允許你使用 module.name 語法引用其物件 - 值,函式和類。在上面的例子中,匯入了 random 模組,其中包含 randint 功能。因此,通過匯入 random,你可以使用 random.randint 呼叫 randint

你可以匯入模組並將其分配給其他名稱:

>>> import random as rn
>>> print(rn.randint(1, 10))
4

如果你的 python 檔案 main.pycustom.py 在同一個資料夾中。你可以像這樣匯入它:

import custom

也可以從模組匯入函式:

>>> from math import sin
>>> sin(1)
0.8414709848078965

要將特定函式深入到模組中,點運算子只能import 關鍵字的左側使用 :

from urllib.request import urlopen

在 python 中,我們有兩種方法從頂層呼叫函式。一個是 import,另一個是 from。當我們有可能發生名稱衝突時,我們應該使用 import。假設我們有 hello.py 檔案和 world.py 檔案具有相同的功能名為 function。然後 import 宣告會很好。

from hello import function
from world import function

function() #world's function will be invoked. Not hello's  

一般來說,import 將為你提供名稱空間。

import hello
import world

hello.function() # exclusively hello's function will be invoked 
world.function() # exclusively world's function will be invoked

但是如果你確定,在整個專案中沒有辦法使用相同的函式名稱你應該使用 from 語句

可以在同一行上進行多次匯入:

>>> # Multiple modules
>>> import time, sockets, random
>>> # Multiple functions
>>> from math import sin, cos, tan
>>> # Multiple constants
>>> from math import pi, e

>>> print(pi)
3.141592653589793
>>> print(cos(45))
0.5253219888177297
>>> print(time.time())
1482807222.7240417

上面顯示的關鍵字和語法也可以組合使用:

>>> from urllib.request import urlopen as geturl, pathname2url as path2url, getproxies
>>> from math import factorial as fact, gamma, atan as arctan
>>> import random.randint, time, sys

>>> print(time.time())
1482807222.7240417
>>> print(arctan(60))
1.554131203080956
>>> filepath = "/dogs/jumping poodle (december).png"
>>> print(path2url(filepath))
/dogs/jumping%20poodle%20%28december%29.png