end*_*eus 2 python import python-3.x
我在一年前参加了一个python教程并且非常喜欢它,所以我想我会尝试将tkinter小部件合并到一些东西中,因为GUI.我看过很多关于初学者tkinter的教程都是用这条线开始的代码:
from tkinter import *
这有什么令人信服的理由吗?我的意思是,为什么(或不)加载一切?
是的,这是一个非常糟糕的做法有两个原因:
对于第1点:让我们看一个这样的例子:
from module1 import *
from module2 import *
from module3 import *
a = b + c - d
Run Code Online (Sandbox Code Playgroud)
在这里,看到代码,没有人会得到的想法从哪个模块有关b,c而d实际上属于.
另一方面,如果你这样做:
# 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
Run Code Online (Sandbox Code Playgroud)
这对你来说更清洁,加入你团队的新人也会有更好的想法.
对于第2点:让我们说两个module1并且module2变量为b.当我做:
from module1 import *
from module2 import *
print b # will print the value from module2
Run Code Online (Sandbox Code Playgroud)
这里的价值module1就会丢失.即使b声明代码也很难调试代码无法工作的原因,module1并且我编写了代码,希望我的代码可以使用module1.b.
如果在不同的模块中有相同的变量,并且您不想导入整个模块,您甚至可以:
from module1 import b as mod1b
from module2 import b as mod2b
Run Code Online (Sandbox Code Playgroud)