看板 Python 關於我們 聯絡資訊
請教各位大大一下 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://www.ptt.cc/bbs/Python/M.1497869997.A.59F.html
dannypsnl: 一個是引入module本身,所以透過module參考裡面的東西 06/19 19:07
dannypsnl: 另一個是引入該module裡的東西,所以就能直接用 06/19 19:07
karta0910489: 題外話:通常建議使用完整路徑import 06/19 19:29
karta0910489: from ... import ... 06/19 19:29
mikapauli: namespace不一樣而已 06/19 19:37
freeunixer: 你還是老實點去找一本書來好好唸.. 06/19 19:49
yimean: 樓上的大大我有買書喔,我就是書中看不懂才上來請教阿。 06/19 19:53
yimean: 書裡面沒有寫這兩者的差異。 06/19 19:53
yimean: k大,請教一下,這樣的好處是什麼呢?依照您的說法,這個 06/19 19:55
yimean: 案例,最好是用from time import *會比較好嗎? 06/19 19:57
vi000246: 假設一個module裡有A、B、C三個類別 06/19 19:59
vi000246: 你只要用到A 就import A就好 如果其他也要用到 就整個 06/19 20:00
vi000246: import進來 不需要再分別import 06/19 20:00
Mchord: 不同module可能會有同名的東西 06/19 20:56
karta0910489: 主要是像M大講的 一方面避免不同module有同名的東西 06/20 02:06
karta0910489: 一方面完整路徑在之後交接或自己自己看的時候 比較 06/20 02:06
karta0910489: 容易看懂 06/20 02:06
karta0910489: 遇到同名可以使用 06/20 02:07
karta0910489: from ... import ... as ... 06/20 02:07
karta0910489: 這樣import也不錯用 06/20 02:07
karta0910489: 我好像講的有點亂XD我重講一下我的看法好了 06/20 02:29
karta0910489: 我習慣使用from ... import ... 06/20 02:29
karta0910489: 一方面是交接或review可以清楚知道說用了模組裡的哪 06/20 02:29
karta0910489: 些函數(當然如果一個模組引用很多就不用分別引用了) 06/20 02:29
karta0910489: 一方面是如果遇到同名的模組或function 可以避開錯 06/20 02:29
karta0910489: 誤 像是from a.b.c import f 或 from a.c.b import 06/20 02:29
karta0910489: f 或 from a import f 可能我講的比較誇張 但我真的 06/20 02:29
karta0910489: 看過有人的code長類似這樣 這時候如果不完整路徑 im 06/20 02:29
karta0910489: port 就會可能import 到錯誤的東西 06/20 02:29
karta0910489: 完整路徑就是指從最開頭的地方開始一直到你要使用的 06/20 02:29
karta0910489: 地方 06/20 02:29
karta0910489: PS:你import混亂或很亂可以使用 from ... import .. 06/20 02:29
karta0910489: . as ...來整理一下 06/20 02:29
karta0910489: 當然,這些都只是我自己個人的鄙見,可能不同人會有 06/20 02:29
karta0910489: 不同看法,我提供我的想法給你參考 06/20 02:29
yimean: 感謝K大指導 06/20 20:31