作者yimean (溫柔殺手)
看板Python
標題[問題] import~from~問題請教
時間Mon Jun 19 18:59:54 2017
請教各位大大一下
import time
與
from time import *
在呼叫方法時為什麼會不一樣?
import time
print(time.ctime())
from time import *
print(ctime)
兩個都是將time整個module import進來。
為什麼不能用同一個方法呼叫ctime?
凡請撥冗解惑,感謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.62.184.14
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1497869997.A.59F.html
1F:→ dannypsnl: 一個是引入module本身,所以透過module參考裡面的東西 06/19 19:07
2F:→ dannypsnl: 另一個是引入該module裡的東西,所以就能直接用 06/19 19:07
3F:推 karta0910489: 題外話:通常建議使用完整路徑import 06/19 19:29
4F:→ karta0910489: from ... import ... 06/19 19:29
5F:→ mikapauli: namespace不一樣而已 06/19 19:37
6F:→ freeunixer: 你還是老實點去找一本書來好好唸.. 06/19 19:49
7F:→ yimean: 樓上的大大我有買書喔,我就是書中看不懂才上來請教阿。 06/19 19:53
8F:→ yimean: 書裡面沒有寫這兩者的差異。 06/19 19:53
9F:→ yimean: k大,請教一下,這樣的好處是什麼呢?依照您的說法,這個 06/19 19:55
10F:→ yimean: 案例,最好是用from time import *會比較好嗎? 06/19 19:57
11F:推 vi000246: 假設一個module裡有A、B、C三個類別 06/19 19:59
12F:→ vi000246: 你只要用到A 就import A就好 如果其他也要用到 就整個 06/19 20:00
13F:→ vi000246: import進來 不需要再分別import 06/19 20:00
14F:推 Mchord: 不同module可能會有同名的東西 06/19 20:56
15F:推 karta0910489: 主要是像M大講的 一方面避免不同module有同名的東西 06/20 02:06
16F:→ karta0910489: 一方面完整路徑在之後交接或自己自己看的時候 比較 06/20 02:06
17F:→ karta0910489: 容易看懂 06/20 02:06
18F:→ karta0910489: 遇到同名可以使用 06/20 02:07
19F:→ karta0910489: from ... import ... as ... 06/20 02:07
20F:→ karta0910489: 這樣import也不錯用 06/20 02:07
21F:推 karta0910489: 我好像講的有點亂XD我重講一下我的看法好了 06/20 02:29
22F:→ karta0910489: 我習慣使用from ... import ... 06/20 02:29
23F:→ karta0910489: 一方面是交接或review可以清楚知道說用了模組裡的哪 06/20 02:29
24F:→ karta0910489: 些函數(當然如果一個模組引用很多就不用分別引用了) 06/20 02:29
25F:→ karta0910489: 一方面是如果遇到同名的模組或function 可以避開錯 06/20 02:29
26F:→ karta0910489: 誤 像是from a.b.c import f 或 from a.c.b import 06/20 02:29
27F:→ karta0910489: f 或 from a import f 可能我講的比較誇張 但我真的 06/20 02:29
28F:→ karta0910489: 看過有人的code長類似這樣 這時候如果不完整路徑 im 06/20 02:29
29F:→ karta0910489: port 就會可能import 到錯誤的東西 06/20 02:29
30F:→ karta0910489: 完整路徑就是指從最開頭的地方開始一直到你要使用的 06/20 02:29
31F:→ karta0910489: 地方 06/20 02:29
32F:→ karta0910489: PS:你import混亂或很亂可以使用 from ... import .. 06/20 02:29
33F:→ karta0910489: . as ...來整理一下 06/20 02:29
34F:→ karta0910489: 當然,這些都只是我自己個人的鄙見,可能不同人會有 06/20 02:29
35F:→ karta0910489: 不同看法,我提供我的想法給你參考 06/20 02:29
36F:→ yimean: 感謝K大指導 06/20 20:31