Python3变量在另一个变量的名称中使用?

2024-09-30 18:32:41 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python3(使用tkinter)中,我有以下图像:

SqImg1 = PhotoImage(file='SqImg1.gif')
SqImg2 = PhotoImage(file='SqImg2.gif')
SqImg3 = PhotoImage(file='SqImg3.gif')
SqImg4 = PhotoImage(file='SqImg4.gif')
...

我还有一个函数,它需要根据变量返回其中一个图像。所以如果函数确定var为1,它需要返回SqImg1。。。在

^{pr2}$

我希望上面的内容返回SqImg3

这可能很简单,但我似乎找不到我在谷歌寻找什么。在


Tags: 函数图像内容tkintervargifpython3file
2条回答

你的错误就在眼前:

SqImg1 = PhotoImage(file='SqImg1.gif')
SqImg2 = PhotoImage(file='SqImg2.gif')
SqImg3 = PhotoImage(file='SqImg3.gif')
SqImg4 = PhotoImage(file='SqImg4.gif')
...

应该是:

^{pr2}$

甚至:

SqImg = [ PhotoImage(file='SqImg{}.gif'.format(i) for i in range(1, n) ]

两种选择

  • 创建一个字典并将字符串映射到实际变量。例如。, d = {}; d["boo"] = img3
  • 如果图像编号正确,请调用eval()。。e、 g.,return eval("sqlimg%d" % var)

第一个选择可能是你想要的,除非你有特殊情况

相关问题 更多 >