【问题标题】:Why can't I find my variable in globals()?为什么我在 globals() 中找不到我的变量?
【发布时间】:2021-06-12 07:22:13
【问题描述】:

我创建了一个函数来为随机 DNA 创建一个变量。但是当我想查看rdna 是否在globals() 中时,我得到False 作为结果

from random import choice
def randomseq():
  global rdna
  rdna=""
  largo = int(input("Sequence Length: "))
  for count in range(largo):
    rdna+=choice("CGTA")
  return rdna
rdna in globals()
False

为什么我收不到True

【问题讨论】:

  • 首先,您需要调用函数,以便用变量名填充globals()

标签: python loops variables globals


【解决方案1】:

举个例子:

x = 1
my_var = 'x'
print(my_var in globals())

这将打印True,但不是因为my_var 是全局变量,而是因为x 是。 globals() 返回一个包含所有全局变量及其值的字典,my_var in globals() 在这种情况下与询问 'x' in globals() 相同。

你想要这个:

'rdna' in globals()

【讨论】:

    【解决方案2】:

    rdna in globals() 将在globals() 中搜索存储在变量rdna 中的值。如果您真的想搜索"rdna",您应该将其设为字符串文字:

    "rdna" in globals()
    

    【讨论】:

      猜你喜欢
      • 2019-01-26
      • 2020-04-25
      • 1970-01-01
      • 2018-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-16
      相关资源
      最近更新 更多