簡體   English   中英

導入_tkinter或tkinter?

[英]Import _tkinter or tkinter?

所有教程只需import tkinter

我想知道為什么不import _tkinter 如果我的理解是正確的, _tkinter是CPython的和實際的庫tkinter是接口或API。

當我閱讀一些tkinter源代碼時,我只是試圖掌握范例。 似乎有一些蟒蛇黑魔法正在醞釀之中。

_tkinter是一個基於C的模塊,它包裝了一個內部的tcl / tk解釋器。 當您導入它時,它只能訪問此解釋器, 但您無法訪問任何python類

你當然可以導入_tkinter ,但是你必須重新創建tcl / tk函數的所有python接口。

在python“_”中標記變量是供內部使用的

此約定在PEP 8中定義,但不由Python強制實施

由於這種性質,您不應該導入以“_”開頭的類/模塊/變量,開發人員應該允許屬性/ setter方法訪問這些屬性。

對於python2使用“Tkinter”

對於python3使用“tkinter”

http://pep8.org/#descriptive-naming-styles

根據文件

Tk接口位於名為_tkinter的二進制模塊中。 該模塊包含Tk的低級接口,絕不應由應用程序員直接使用。

所以對“為什么不導入_tkinter?”有些不滿意的答案。 是“因為語言開發人員告訴我們不要”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM