Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.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_Class - Fatal编程技术网

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记住。你不应该发现自己处于需要做这两件事中的任何一件。这是一个暂时的解决方案,如果它在程序的其余部分继续工作,那就这样吧。