Python 阻止打印类数据的字符串变量
每当我尝试这个:Python 阻止打印类数据的字符串变量,python,class,Python,Class,每当我尝试这个: x = input(foo) showstat(x) def showstat(y): print(y.thing) 这是一个错误 “str”对象没有“thing”属性 但我不知道如何更改它的数据类型以使其正常工作 我只需要弄清楚如何将其理解为: print(foo.thing) 而不是错误: print("foo".thing) 听起来您正试图将输入作为python表达式进行求值,以便检索输入名称的变量。这是正确的吗 如果是这样,你可以使用 eval(x)
x = input(foo)
showstat(x)
def showstat(y):
print(y.thing)
这是一个错误
“str”对象没有“thing”属性
但我不知道如何更改它的数据类型以使其正常工作
我只需要弄清楚如何将其理解为:
print(foo.thing)
而不是错误:
print("foo".thing)
听起来您正试图将输入作为python表达式进行求值,以便检索输入名称的变量。这是正确的吗 如果是这样,你可以使用
eval(x)
虽然更安全会是这样
locals()[x]
我个人会对您的输入执行此操作,而不是作为函数的一部分,但这完全取决于您尝试执行的其他操作。编程的一个重要部分是诊断错误。如果你问的是错误,你需要包括错误。你说你知道为什么它不起作用,但你的最后一个问题听起来好像你不明白错误显示了什么。为什么
x
会有东西属性?您希望它是什么类型的对象?在程序的其余部分,我让它打印出一些类项目的名称,输入是为了确定它们中哪些应该显示属性,输入是类中的一个项目,您可以在这里找到完整的代码:@BeardedPancake记住。你不应该发现自己处于需要做这两件事中的任何一件。这是一个暂时的解决方案,如果它在程序的其余部分继续工作,那就这样吧。