Я хочу выбрать весь объект, экземпляр класса:
class A:
def __init__(self):
def genid():
return next(self.__counter)
self.__counter = count()
self.__ids = defaultdict(genid)
self.processed_data = []
def method1(self):
self.__ids['abc']
self.__ids['def']
...
obj = A()
with open("class_a.pkl", 'wb') as f:
pickle.dump(obj, f)
AttributeError: Невозможно выбрать локальный объект ' A. init .. genid '
Однако, когда я делаю genid()
отдельным методом класса, pickle
счастлив. Что я делаю не так?