我有一個類定義在這裏:的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()'需要兩遍遍過這些項目,並且使用生成器表達式會減慢這一點。使用列表理解,而不是*更快*。所以,不,從技術上說不需要括號,但無論如何推薦。 –