Javaのバックグラウンドから来て、私__str__
はそれがtoStringのPythonバージョンのようなものであることを理解しています(Pythonが古い言語であることは理解していますが)。
__str__
そこで、次のようにメソッドとともに小さなクラスを定義しました。
class Node:
def __init__(self, id):
self.id = id
self.neighbours = []
self.distance = 0
def __str__(self):
return str(self.id)
次に、そのインスタンスをいくつか作成します。
uno = Node(1)
due = Node(2)
tri = Node(3)
qua = Node(4)
現在、これらのオブジェクトの1つを印刷しようとしたときに予想される動作は、関連付けられた値が印刷されることです。これも起こります。
print uno
収量
1
しかし、私が次のことをするとき:
uno.neighbours.append([[due, 4], [tri, 5]])
その後
print uno.neighbours
私は得る
[[[<__main__.Node instance at 0x00000000023A6C48>, 4], [<__main__.Node instance at 0x00000000023A6D08>, 5]]]
期待したところ
[[2, 4], [3, 5]]
私は何が欠けていますか?そして、他に何をしているのですか?:)