众所周知,有__str__
和__repr__
将对象转换为str
,但有没有任何魔法函数可以用来做相反的事情?例如,我有
class Point(object):
def __init__(self, x, y):
self.x = x
self.y = y
def __str__(self):
return '({}, {})'.format(self.x, self.y)
如果我致电(1, 2)
并假设我将其保存到文件中,我可以获得print(Point(1, 2))
。现在,如果我想从文件中恢复它。是否有任何魔术函数可以重载以将原始字符串解析为对象?就像<<
运算符在C ++中的作用,以及Read
类在Haskell中的作用。
嗯,我不确定这是否就是所谓的序列化和反序列化。
更新
我只想要一个魔术函数的名称,它扮演占位符的角色,当我想将一个原始字符串解析成一个对象时,我就是这个名字。我不是在问如何解析。所以这与Convert strig to Python class object?没有重复。