Я реализую R-Trees на Python во вторичной памяти. Мне нужно сохранить файл узлов, поэтому я хочу перечислить их для легкого доступа, и поэтому я могу создать файл с прямоугольниками на каждом узле. Я хочу делать это каждый раз, когда я создаю узел, чтобы дать ему «id», который является последовательным числом.Как добавить последовательные идентификаторы номеров в новые экземпляры объектов?
Я попытался определить глобальную переменную до и после определения моего класса, но это, похоже, не работает. Даже если я определяю его как глобальный, когда я пытаюсь создать узел, есть ошибка в инициализации, потому что «NodeId» не определен, в частности, когда я пытаюсь добавить 1 к переменной:
global nodePath, path, nodeId
...
nodeId = 0
class Node:
def __init__(self, tag, t, n, inputFile, id = nodeId, init = True):
...
self.id = id
nodeId += 1
Любой идеи или предложения были бы замечательными, спасибо!
Благодарим вас, вы правы, это имеет смысл и отлично работает :) – Francisca