python - 使用循环创建以列表中元素命名的变量
问题描述
我正在尝试使用 Python 和 Tkinter 创建一个注册表单...
为了保持整洁,我想迭代 this 的元素list
:
signup_fields = ['first_name', 'last_name', 'username', 'password', 'confirm_password', 'email', 'confirm_email', 'height', 'weight']
使用类似这样for
的循环来创建输入框:
for field in signup_fields:
{field} = tk.Entry()
{field}.pack()
如您所见,我将“字段”放在“{}”大括号中,以尝试让 Python 根据列表中的字符串命名变量。我不知道该怎么做,也没有在网上找到解决方法。
解决方案
你不想那样做。相反,将小部件存储在字典中。代码将更容易理解和调试。
entries = {}
for field in signup_fields:
entries[field] = tk.Entry()
对于其他替代方案,请参阅如何创建变量变量?
推荐阅读
- c++ - 预处理器宏的问题
- javascript - 将严重字符串化的 json 转换为 json 对象
- python-2.7 - 单击时打开新窗口但不显示任何内容[Tkinter]
- javascript - Alexa Just Listen Invocation 名称然后闪烁并停止?
- ssas - 使用 MDX 获取上个月的最后一天
- python - 如何使用python锯齿形顺序并连接每行的值
- vba - On Error GoTo 优化 VBA
- c# - C# 忽略 WCF 合同不匹配以实现向后兼容性?
- exception - Wildfly 11 向远程客户端抛出异常
- php - PHP - 无法将 PDF 文件及其文件名移动到目录路径