所有的教程都是import tkinter,
我想知道,为什么import _tkinter不呢?如果我的理解是正确的,_tkinter是cpython中的实际库,tkinter是接口或API。
当我阅读一些tkinter源代码时,我只是试图抓住这个范例。好像有一条巨蟒的黑魔法在酝酿中。
发布于 2018-01-22 16:05:10
_tkinter是一个基于C的模块,它封装了一个内部tcl/tk解释器.当您导入它时,它只允许您访问这个解释器,但是您不能访问任何python类。
当然可以导入_tkinter,但是必须重新创建所有到tcl/tk函数的python接口。
发布于 2018-01-22 15:40:01
在python "_“中,变量将用于内部使用
这个约定是在PEP 8中定义的,但不是由Python强制执行的
您不应该导入以"_“开头的类/模块/变量,由于这种性质,开发人员应该允许属性/setter方法访问这些属性。
对于python2,使用"Tkinter“
对于python3,使用"tkinter“
http://pep8.org/#descriptive-naming-styles
发布于 2018-01-22 15:43:33
根据文档的说法
Tk接口位于名为
_tkinter的二进制模块中。该模块包含与Tk的底层接口,应用程序程序员不应直接使用该接口.
因此,对于“为什么不导入_tkinter”这一问题的回答有点不令人满意呢?是“因为语言开发人员告诉我们不要”。
https://stackoverflow.com/questions/48385116
复制相似问题