匯入模組
使用 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.py
與 custom.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