IちょうどPythonでK分木の実装を習得しようとすると、このリンクに出くわした:tree.pyファイルで http://www.quesucede.com/page/show/id/python-3-tree-implementationこのコードでself [identifier] = some_valueは何をしますか?
、このようなコードのセクションがあります:
class Tree:
def __init__(self):
self.__nodes = {}
@property
def nodes(self):
return self.__nodes
def add_node(self, identifier, parent=None):
node = Node(identifier)
self[identifier] = node
if parent is not None:
self[parent].add_child(identifier)
return node
# ... ...
def __getitem__(self, key):
return self.__nodes[key]
def __setitem__(self, key, item):
self.__nodes[key] = item
self[identifier]
とは何ですか?それはリストですか?これは本当に混乱しています。 誰かが自己をリストとして使用することに関するいくつかの文書を説明したり指摘したりすることができますか?完全なコード例で
このクラスには__getitem__が定義されていますか? '__getitem__'が何をしているのかを見ることなくあなたの質問に答えることはできません – inspectorG4dget
また、項目の検索の代わりに項目の割り当てのために呼び出される' __setitem__'もあります。 – user2357112
[setitemとgetitem - python]の重複している可能性があります(http://stackoverflow.com/questions/20356401/setitem-and-getitem-python) –