python中import和from import的區別
阿新 • • 發佈:2019-02-12
前些日子看到知乎上有人把import比作一輛車,把from import比作車子裡面的礦泉水
我覺得這比喻還可以,但是首先得確定你是一個缺水的人,你渴你正要礦泉水,而不是什麼咖啡牛奶
先舉一個大家都清楚的例子:
>>> import datetime
>>> print(datetime.datetime.now())
2018-05-05 22:02:59.862502
import是引入整個datetime庫,如果你要使用datetime庫中的datetime類,你需要在使用的時候加上類名限定
也就是說datetime庫中還有date、time等等很多的類,你不加上類名程式可不知道你用什麼類
要是便於理解的話,你可以把類看作是一個執行什麼特定功能的函式
接下來看另一個:
>>> from datetime import datetime
>>> print(datetime.now())
2018-05-05 22:04:00.755502
如果使用from import,那就直截了當了,你就是需要datetime庫裡的datetime類
這時候你呼叫的時候,就不用加上類名的限定
看完了標準庫如何匯入呼叫,我們試試呼叫自己所寫的函式吧
程式如下:
# hello.py def add(a, b): return a + b def sub(a, b): return a - b
在我寫的hello.py檔案中,只有一個add和一個sub函式
執行該程式,我們分別看看它的兩種呼叫方式
import:
>>> import hello
>>> hello.add(1, 2)
3
>>> hello.sub(2, 3)
-1
>>> x = hello
>>> x.add(1, 3)
4
from import:
>>> from hello import add >>> add(2, 3) 5 >>> from hello import * # 匯入全部函式 >>> sub(4, 3) 1