将字符串更改为现有变量名称以为多个变量创建1个函数(内部类,使用Tkinter的root)

奥利弗·沃纳(Oliver Werner)
from tkinter import *

class App:

    def __init__(self, master):

        frame = Frame(master)
        frame.pack()
        self.plot = Canvas(master, width=500, height=120)
        self.plot.pack()

        self.1 = self.plot.create_text(10,10, text = "0")
        self.2 = self.plot.create_text(30,10, text = "0")
        self.3 = self.plot.create_text(50,10, text = "0")

        def txt_change(self,name,value):
            self.plot.itemconfigure(self.name, text=value)

因此,在这里我只想创建一个函数,该函数可以通过包含名称来更改多个变量的值。这个名字不过是一个字符串,但是我希望python将字符串解释为一个变量名。我有20个这样的变量,为每个变量创建一个新函数看起来不太干净。有什么聪明的方法可以做到这一点吗?

我希望最终我可以使用这样的东西:txt_change(“ 1”,20)

布莱恩·奥克利(Bryan Oakley)

正确的解决方案不是将字符串转换为变量名。而是将项目存储在列表或字典中。

例如,这使用一个字典:

class App:
    def __init__(self, master):
        ...
        self.items = {}
        self.items[1] = self.plot.create_text(10,10, text = "0")
        self.items[2] = self.plot.create_text(30,10, text = "0")
        self.items[3] = self.plot.create_text(50,10, text = "0")

    def txt_change(self,name,value):
        item_id = self.items[name]
        self.plot.itemconfigure(item_id, text=value)

...
app=App(...)
app.txt_change(2, "this is the new text")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用带有字符串的列表的for循环更改变量名称

来自分类Dev

从函数外部返回变量名称,作为python函数内部的字符串

来自分类Dev

连接字符串以形成现有变量名称并在阵列封装格式中工作

来自分类Dev

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

来自分类Dev

Python/MySQL 如何使用变量插入字符串,不断将“TRUE”更改为 1

来自分类Dev

将LESS变量名称输出为字符串

来自分类Dev

基于多个条件和字符串向量(或tidyselect)传递的相应变量名称,使用dplyr :: mutate创建新变量

来自分类Dev

使用字符串内容为其他变量名称的另一个变量调用变量

来自分类Dev

使用多个变量创建字符串

来自分类Dev

使用函数更改PHP变量名称

来自分类Dev

将字符串“ @ Patient”更改为变量

来自分类Dev

变量名称中的变量字符串

来自分类Dev

如何将字符串转换为在函数全局内部实例化的变量名?

来自分类Dev

将字符串中的变量名称替换为变量值[R]

来自分类Dev

如何将包含路径字符串的变量更改为另一个路径字符串

来自分类Dev

如何将字符串向量更改为中间带有+号的变量

来自分类Dev

如何在没有itoa()的情况下将任何变量更改为字符串?

来自分类Dev

使用变量名称作为字符串使用循环设置变量

来自分类Dev

创建引用变量和值的字符串名称的函数

来自分类Dev

使用字符串中的变量名称访问变量值,R

来自分类Dev

在字符串中将变量名称与因子级别分开

来自分类Dev

如何获取变量名称作为字符串?

来自分类Dev

在字符串中将变量名称与因子级别分开

来自分类Dev

如何通过MYSQL用户定义函数中的另一个字符串变量引用局部变量名称?

来自分类Dev

返回一个全局变量,使用字符串作为变量名

来自分类Dev

Ansible - 将字符串与现有变量组合以注册到另一个变量中

来自分类Dev

如何将$之后的列表变量名称转换为字符串

来自分类Dev

变量名称和字符串将'+'错误连接为错误的语法

来自分类Dev

如何将列表变量名称转换为字符串

Related 相关文章

  1. 1

    如何使用带有字符串的列表的for循环更改变量名称

  2. 2

    从函数外部返回变量名称,作为python函数内部的字符串

  3. 3

    连接字符串以形成现有变量名称并在阵列封装格式中工作

  4. 4

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

  5. 5

    Python/MySQL 如何使用变量插入字符串,不断将“TRUE”更改为 1

  6. 6

    将LESS变量名称输出为字符串

  7. 7

    基于多个条件和字符串向量(或tidyselect)传递的相应变量名称,使用dplyr :: mutate创建新变量

  8. 8

    使用字符串内容为其他变量名称的另一个变量调用变量

  9. 9

    使用多个变量创建字符串

  10. 10

    使用函数更改PHP变量名称

  11. 11

    将字符串“ @ Patient”更改为变量

  12. 12

    变量名称中的变量字符串

  13. 13

    如何将字符串转换为在函数全局内部实例化的变量名?

  14. 14

    将字符串中的变量名称替换为变量值[R]

  15. 15

    如何将包含路径字符串的变量更改为另一个路径字符串

  16. 16

    如何将字符串向量更改为中间带有+号的变量

  17. 17

    如何在没有itoa()的情况下将任何变量更改为字符串?

  18. 18

    使用变量名称作为字符串使用循环设置变量

  19. 19

    创建引用变量和值的字符串名称的函数

  20. 20

    使用字符串中的变量名称访问变量值,R

  21. 21

    在字符串中将变量名称与因子级别分开

  22. 22

    如何获取变量名称作为字符串?

  23. 23

    在字符串中将变量名称与因子级别分开

  24. 24

    如何通过MYSQL用户定义函数中的另一个字符串变量引用局部变量名称?

  25. 25

    返回一个全局变量,使用字符串作为变量名

  26. 26

    Ansible - 将字符串与现有变量组合以注册到另一个变量中

  27. 27

    如何将$之后的列表变量名称转换为字符串

  28. 28

    变量名称和字符串将'+'错误连接为错误的语法

  29. 29

    如何将列表变量名称转换为字符串

热门标签

归档