所有教程只需import tkinter
,
我想知道,为什么不import _tkinter
?如果我的理解是正确的,_tkinter
是cpython中的实际库,tkinter
是接口或API。
当我阅读一些tkinter源代码时,我只是试图掌握范例。似乎有一些蟒蛇黑魔法正在进行中。
答案 0 :(得分:7)
_tkinter
是一个基于C的模块,它包装了一个内部tcl / tk解释器。当您导入它时,您只能访问此解释器但您无法访问任何python类。
你当然可以导入_tkinter
,但是你必须重新创建tcl / tk函数的所有python接口。
答案 1 :(得分:2)
在python" _"标记变量供内部使用
此约定在PEP 8中定义,但未由Python强制执行
您不应该以" _"开头导入类/模块/变量。由于这种性质,开发人员应该允许property / setter方法访问这些属性..
对于python2使用" Tkinter"
对于python3使用" tkinter"
答案 2 :(得分:0)
Tk接口位于名为
_tkinter
的二进制模块中。该模块包含Tk的低级接口,绝不应由应用程序员直接使用。
所以有些不满意的回答"为什么不导入_tkinter?"是因为语言开发人员告诉我们不要"。