from adsl import *
比如这个,为什么要这样写?直接import adsl不就行了
|  |      1ladrift      2015-05-12 15:38:38 +08:00 via Android  2 import adsl 模块中的名字全部是adsl这个名字下的 比如调用adsl中的foo函数(举个栗子): adsl.foo() 而from adsl import * 可以用 foo() 直接调用foo函数 | 
|  |      2tanteng OP | 
|      3monsabre1      2015-05-12 15:48:29 +08:00 from adsl import *  这种不好 | 
|  |      4ladrift      2015-05-12 15:49:19 +08:00 via Android  1 | 
|      7washinriver      2015-05-12 17:02:07 +08:00 一般写成 from adsl import func1,func2 方便,清楚. | 
|  |      8binux      2015-05-12 17:03:15 +08:00  2 我知道我为什么写不出博客了。。 | 
|  |      10MrEggNoodle      2015-05-12 17:42:05 +08:00 @binux 哈哈哈。总觉得你这句话很幽默。 | 
|  |      12lcqtdwj      2015-05-12 21:50:21 +08:00 产品一般不会 from XXX import *,因为会污染命名空间,locals()看一下,如果有相同名字可能就冲突了。一般在ipyhton里图省事这样写。 | 
|  |      14fatpa      2015-05-12 22:36:38 +08:00 可怕! | 
|      15mingyun      2015-05-12 22:37:46 +08:00 污染命名空间 | 
|  |      16beibeijia      2015-05-12 22:47:18 +08:00 一般这么用也就是图个方便 特别是学习和测试的时候 比如pyqt from PyQt4.QtGui import * 这样调用的时候 直接QWidget() QPushButton() 否则 PyQt4.QtGui.QWidget() PyQt4.QtGui.QPushbutton() 每次这么写太麻烦了 不过正式写程序搞项目的时候这种写法还是应该少用 就像楼上说的会污染命名空间 像这样导入三个以上的模块 如果其中有命名发生重叠 你调用的方法或者变量就有可能不是你想要的 最终有可能导致程序崩溃或者不按照你想要的方式执行 关于这方面卤煮可以去看看《python学习手册》这里对核心知识的一些细节讲的还是比较到位的。 |