In general, is it a bad practice to use the statement “from module import *” in my python code?
本问题已经有最佳答案,请猛点这里访问。
一年前我参加了一个Python教程,我非常喜欢它,所以我想我会尝试将tkinter小部件融入其中,因为,嗯,gui。我看过的许多关于初学者tkinter的教程都是从以下代码行开始的:
是的,这是一种非常糟糕的做法,原因有两个:
对于点1:我们来看一个例子:
1 2 3 4 5 | from module1 import * from module2 import * from module3 import * a = b + c - d |
在这里,当看到代码时,没有人会知道
另一方面,如果你喜欢:
1 2 3 4 5 6 | # v v will know that these are from module1 from module1 import b, c # way 1 import module2 # way 2 a = b + c - module2.d # ^ will know it is from module2 |
它对你来说更干净,而且新加入你团队的人会有更好的想法。
第二点:假设
1 2 3 4 | from module1 import * from module2 import * print b # will print the value from module2 |
这里,
如果您在不同的模块中有相同的变量,并且不想导入整个模块,您甚至可以这样做:
1 2 | from module1 import b as mod1b from module2 import b as mod2b |