我的一个类中有这个 __str__ 方法,但在我看来,它在我的 python 约定代码中看起来有点太长,而且 autopep 没有给我任何提示。
所以我想知道什么是最 pythonic 的输入方式。
我需要分隔线,因为解决方案和表格的形状分别是 52 和 52x52。
def __str__(self):
return "Cost solution : " + str(self.cost) + "\nSolution: " + str(self.solution) + "\n\nTable:" + str(self.table)
请您参考如下方法:
def __str__(self):
pattern = '''
Cost solution: {}
Solution: {}
Table: {}
'''
return pattern.format(self.cost, self.solution, self.table)
如果您不希望在使用多行字符串时在输出中出现额外的制表符,您需要在它们的代码中删除制表符。
class Test(object):
pattern = '''
Cost solution: {}
Solution: {}
Table: {}
'''
def __init__(self):
self.cost = 0;
self.solution = 'StackOverflow'
self.table = '1|2|3|4'
def __str__(self):
return self.pattern.format(self.cost, self.solution, self.table)
print Test()
