我有一个类定义在这里:的Python:更清洁的方式来设计__str__方法
class Graph:
def __init__(self,directional = False,simple=True,Filename=None):
self.adjacencyList = {}
self.directional = directional
self.simple = simple
,我为它设计的__str__
方法是这样的:
def __str__(self):
simple = "Simple: "+ str(self.simple)+"\n"
directional = "Directional: " + str(self.directional)+"\n"
items = "{\n"
for vertex in self.adjacencyList.keys():
items = items +"\t"+str(vertex)+str(self.adjacencyList[vertex])+"\n"
items += "}"
string = simple + directional + items
return string
我发现它是如此冗长,我我想也许有一些更简洁的方法来使用更少的代码行。
你能给我一些建议吗?
方括号是没有必要在这里。也许他们在某些版本之前需要。 – zch
@zch:参见http://stackoverflow.com/a/9061024; '''.join()'需要两遍遍过这些项目,并且使用生成器表达式会减慢这一点。使用列表理解,而不是*更快*。所以,不,从技术上说不需要括号,但无论如何推荐。 –