我正在尝试使用Python生成LaTeX文档。我为不同类型的内容使用类,它们最终需要转换为可由LaTeX编译的文档中的字符串。 __str__
是否是正确的功能,或者是为了更多consise类的摘要,我应该在这种情况下使用类似.render
?以特殊方式使用__str__
我很困惑的主要原因是大多数对象没有被转换为字符串作为最终目标。
这是一个包行的示例类。请记住,整个文档也是一个类,将有相同的实现转换为一个字符串。
class Package:
"""A class that represents a package"""
def __init__(self, name, option=None):
self.name = name
self.option = option
def __str__(self):
if self.option is None:
option = ''
else:
option = '[' + self.option + ']'
return r'\usepackage' + option + '{' + self.name + '}\n'
这是最讨厌的事情的事情是,我不能简单地互换实际字符串和我的专班,因为我有时不得不调用一个方法。 – JelteF