Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中如何将变量放入变量内部_Python - Fatal编程技术网

在python中如何将变量放入变量内部

在python中如何将变量放入变量内部,python,Python,我想使用a来执行以下操作: i = 3 stored_number_i 其中i为3 是有办法做到这一点,还是不可能?至少有一个像样的替代方案吗?没有内在的方法可以做到这一点。您可能会发现创建自己的数据类型很有用;就是一个班级 这样,您就可以设计数据存储在“变量”中的方式。通过 class dummy(): pass 然后可以执行a=dummy()来创建新对象 要设置属性,您可以执行a.blarg=4或setattr(a,'blarg',4) 这样,您就有可能执行您描述的操作: i=3

我想使用a来执行以下操作:

i = 3

stored_number_i
其中
i
为3


是有办法做到这一点,还是不可能?至少有一个像样的替代方案吗?

没有内在的方法可以做到这一点。您可能会发现创建自己的数据类型很有用;就是一个班级

这样,您就可以设计数据存储在“变量”中的方式。

通过

class dummy():
  pass
然后可以执行
a=dummy()
来创建新对象

要设置属性,您可以执行
a.blarg=4
setattr(a,'blarg',4)
这样,您就有可能执行您描述的操作:

i=3
setattr(a,'stored_number_{0}'.format(i), 4)
这将给

a.stored_number_3
4

如果您确实想这样做,可以通过两种方式:

  • 您可以直接修改
    globals
    字典,该字典保存模块的所有全局变量:

    globals()['stored_number_%s' % i] = "content of my programmatically created variable"
    
  • 您可以
    exec
    执行分配,即以编程方式编写分配代码

    exec('stored_number_%s = "content of my programmatically created variable"' % i)
    

请注意,我从来没有见过这样做合适的用例。通常,
dict
list
是正确的数据结构,您只需执行
storaged\u number[i]

听起来像是在寻找
dict

stored_number = {23: 1, 1: 17, 3: 42}
print(stored_number[i])

i
为3时打印
42

不清楚要执行的操作。是否要创建
?或者将变量存储到文本文件中?商店在哪里?你想解决的问题是什么?不清楚你为什么想要这个;通常有一些很好的理由不想要这种东西。你的问题可以通过列表解决吗?通常,如果你想直接访问变量名,你需要一个字典或列表来解决。请按照@ BurhanKhalid的要求,描述您的实际用例。在这是可能的情况下,您应该强烈地考虑使用<代码>列表<代码>或<代码> DICT<代码>。我只发现编程变量(或代码)在使用显式模式生成时有用,例如在没有
enum
类的时候。