【发布时间】:2021-07-28 11:18:10
【问题描述】:
如何将类的实例存储在字符串中?我尝试了eval,但没有成功并抛出了SyntaxError。我希望这适用于用户定义的类和内置类(int、str、float)。
代码:
class TestClass:
def __init__(self, number):
self.number = number
i = TestClass(14)
str_i = str(i)
print(eval(str_i)) # SyntaxError
print(eval("jkiji")) # Not Defined
print(eval("14")) # Works!
print(eval("14.11")) # Works!
【问题讨论】:
-
存储实例的目的是什么?
-
“我如何将一个类的实例存储在一个字符串中” 使用一个实际的对象序列化格式。这适用于大多数内置类型的事实并不意味着您应该以这种方式实际使用它。使用
pickle。