作者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/cn.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