Python 使用Tkinter中的StringVar()创建多个空字符串变量

Python 使用Tkinter中的StringVar()创建多个空字符串变量,python,tkinter,Python,Tkinter,我需要创建大量接受字符串输入的变量,这些变量最初将是空的(待定的用户输入) 之前我一次创建一个变量,例如 customer\u id=StringVar() 客户年龄=StringVar() 等等,但这看起来有很多变量 我已经在中查看了答案,但我不知道如何将StringVar()与for循环和列表一起使用 我使用的是Python 3.7.4和Windows 10 # ATTEMPT from tkinter import * varlist = ['customer_id', 'custom

我需要创建大量接受字符串输入的变量,这些变量最初将是空的(待定的用户输入)

之前我一次创建一个变量,例如

customer\u id=StringVar()
客户年龄=StringVar()

等等,但这看起来有很多变量

我已经在中查看了答案,但我不知道如何将StringVar()与for循环和列表一起使用

我使用的是Python 3.7.4和Windows 10

# ATTEMPT 
from tkinter import * 
varlist = ['customer_id', 'customer_age', 'customer_phone']               
for var in varlist:
    Tk()
    var = StringVar()

# ERROR MESSAGE WHEN CHECKING VARIABLES
type(customer_id) 

NameError                                 Traceback (most recent call last)
<ipython-input-24-9625f8af3cc2> in <module>
----> 1 type(customer_id)

NameError: name 'customer_id' is not defined
#尝试
从tkinter进口*
varlist=['customer\u id','customer\u age','customer\u phone']
对于varlist中的var:
Tk()
var=StringVar()
#检查变量时出现错误消息
类型(客户id)
NameError回溯(最近一次呼叫上次)
在里面
---->1种类型(客户id)
NameError:未定义名称“customer\u id”
谢谢

使用口述

varlist = {var: StringVar() for var in ["customer_id", "customer_age", "customer_phone"]}

现在使用
varlist[“customer\u id”]
变量
customer\u id

部分问题在于您正在创建多个根窗口。您需要从循环中删除
Tk()
。当我运行它时,我得到:File“”,第7行varlist={var:StringVar(),用于“customer\u id”、“customer\u age”、“customer\u phone”中的var}^语法错误:无效语法已修复;我忘了用列表文字包装元素。