Python 如何放置';tk.&x27;在每一个Tkinter对象面前正确的方式?

Python 如何放置';tk.&x27;在每一个Tkinter对象面前正确的方式?,python,tkinter,readability,Python,Tkinter,Readability,我创建了一个非常快速的概念验证python应用程序(~1000行),现在它有可能被更认真地对待。它说,对于最佳编程实践,不要使用 from <module> import * 谢谢您的指导。我的建议是不要使用N、S、E和W(例如:x.grid(…,sticky=“nsew”))。只需使用文本字符串。这些常量不会改变——它们自1996年以来一直保持不变,tcl/tk社区非常重视向后兼容性 我的建议是不要使用N、S、E和W(例如:x.grid(…,sticky=“nsew”))。只需使

我创建了一个非常快速的概念验证python应用程序(~1000行),现在它有可能被更认真地对待。它说,对于最佳编程实践,不要使用

from <module> import *

谢谢您的指导。

我的建议是不要使用
N
S
E
W
(例如:
x.grid(…,sticky=“nsew”)
)。只需使用文本字符串。这些常量不会改变——它们自1996年以来一直保持不变,tcl/tk社区非常重视向后兼容性

我的建议是不要使用
N
S
E
W
(例如:
x.grid(…,sticky=“nsew”)
)。只需使用文本字符串。这些常量不会改变——它们自1996年以来一直保持不变,tcl/tk社区非常重视向后兼容性

你只是少了一个逗号。就像这样:
从tkinter导入N,S,E,W
这将取决于观点,但是tk.N并不比N多多少个字符,而且对于稍后查看代码的人来说,N不会是一个直观的变量,我想,我会假设N是某个事物图像的维度,或者是一个循环限制,而不是单词“北”。还请注意,您可以在那里使用一个字符串,tk接受这一点。虽然我猜sticky=N的意思不算太多,但似乎是在自找麻烦你似乎在自找麻烦“如何从tkinter导入*执行
,而不执行该操作。你不能两全其美。但是,您可以
将tkinter作为tk导入;从tkinter导入N、E、S、W
,它将大部分内容带入
tk
命名空间(
tk.Button
),而N位于全局命名空间中。也就是说,名为一个字符的成员作为
tk.N
N
@en\u Knight更具可读性:Tkinter名称N、S、E、W实际上是方向,用于小部件对齐。请看@PM2Ring我知道,我只是说这似乎是一个容易混淆未来读者的方法。在名称空间前面加上它是一个很好的标识符,在这里它可能不是一个简单的标识符(可能只是看到一个单字母的变量名时的本能反应)。我同意布赖恩的建议:对我来说,sticky='n'似乎比sticky=n更可取。你只是漏掉了一个逗号。就像这样:
从tkinter导入N,S,E,W
这将取决于观点,但是tk.N并不比N多多少个字符,而且对于稍后查看代码的人来说,N不会是一个直观的变量,我想,我会假设N是某个事物图像的维度,或者是一个循环限制,而不是单词“北”。还请注意,您可以在那里使用一个字符串,tk接受这一点。虽然我猜sticky=N的意思不算太多,但似乎是在自找麻烦你似乎在自找麻烦“如何从tkinter导入*
执行
,而不执行该操作。你不能两全其美。但是,您可以
将tkinter作为tk导入;从tkinter导入N、E、S、W
,它将大部分内容带入
tk
命名空间(
tk.Button
),而N位于全局命名空间中。也就是说,名为一个字符的成员作为
tk.N
N
@en\u Knight更具可读性:Tkinter名称N、S、E、W实际上是方向,用于小部件对齐。请看@PM2Ring我知道,我只是说这似乎是一个容易混淆未来读者的方法。在名称空间前面加上它是一个很好的标识符,在这里它可能不是一个简单的标识符(可能只是看到一个单字母的变量名时的本能反应)。我同意布赖恩的建议:对我来说,sticky='n'似乎比sticky=n更可取。
from Tkinter import N S E W