繁体   English   中英

如何在Python中将字符串转换为变量名(tkinter)

[英]How to convert string into variable name in Python (tkinter)

好的,这就是我想要做的。

import tkinter

def abc(buttonNumber):
    buttonNumber["text"] = rating[i]

b11 = tkinter.Button(top, text = "Name", command = abc("b11"))

在这里,我希望有人单击b11按钮时调用abc函数。

但是我不能使用abc(b11)因为b11尚未定义。

因此,如果我改用abc("b11")abc("b11")收到此错误:

TypeError:'str'对象不支持项目分配

我需要将字符串转换为变量吗? 如果是,怎么办?

还是可以通过更好的方式完成?

例如使用字典将变量名

dict = {}
x = "fizz" // variable name fizz
dict[x] = 4 // variable value

“使用{}大括号来构建字典,并使用[]方括号来对其进行索引。每对之间用冒号:和逗号分隔键和值。必须用双引号引起来。与列表一样,我们可以通过以下方式打印字典:打印它的引用;字典将一组对象(键)映射到另一组对象(值); Python字典是唯一键与值的映射;字典是可变的,这意味着它们可以更改。该键指向可以是任意的Python值。字典是无序的,所以添加的按键并不一定反映什么样的顺序也可报告回来。“的顺序, 字体

您的例子:

x = "b11 "
dict[x] = null // value of the button (pointer), set value in the future
b11 = tkinter.Button(top, text = "Name", command = abc(dict["b11"]))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM