首页 > 解决方案 > 防止打印类数据的字符串变量

问题描述

每当我尝试这个:

x = input(foo)
showstat(x)

def showstat(y):
    print(y.thing)

它作为错误返回

“str”对象没有属性“thing”

但我不知道如何更改它的数据类型以使其正常运行。

我只需要弄清楚如何使它读作:

print(foo.thing)

而不是错误:

print("foo".thing)

标签: pythonclass

解决方案


听起来您正在尝试将输入评估为 python 表达式,以便您可以使用输入的名称检索变量。它是否正确?

如果是这样,您可以使用

eval(x)

虽然更安全会像

locals()[x]

我会亲自对您的输入执行此操作,而不是作为功能的一部分,但这完全取决于您要执行的其他操作。


推荐阅读