【问题标题】:Trial For Dynamic Python Variable Creation Without Using Dictionary不使用字典的动态 Python 变量创建试验
【发布时间】:2020-07-17 12:06:54
【问题描述】:

我试图通过以下代码在 python 中创建动态变量:

for i in range (1,10):
    xi = 'wow'

令人惊讶的是,这并没有显示任何错误,这是我所预料的。但是在调用变量时,我遇到了一些意想不到的事情:

>>>x1
NameError: name 'x1' is not defined

是什么抑制了创建过程中的错误,又是什么引发了这里的错误?

【问题讨论】:

    标签: python python-3.x variables error-handling


    【解决方案1】:

    请参阅 Yosua 的 answer

    也请查看这个问题:How do you create different variable names while in a loop?

    如果你真的需要不用字典,可以使用Collin's answer

    for i in range (1,10):
        exec(f"x{i} = 'wow'")
    
    

    但是,我不建议使用它。这不是一个非常优雅的解决方案。

    【讨论】:

      【解决方案2】:

      动态 Python 变量是什么意思?

      for i in range (1,10):
          xi = 'wow'
      

      这段代码基本上将一个变量xi分配给一个字符串'wow' 9次。

      而且您还没有在任何地方定义x1(Python 不会将xi 更改为x1x2 它们都是不同的变量名)

      【讨论】:

      • 动态变量创建是指代码自己创建变量
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-30
      • 1970-01-01
      • 2021-04-02
      相关资源
      最近更新 更多