Я создал класс, назовем его Person:
class Person(object):
def __init__(self, name: str, lastname: str):
self.name, self.lastname = name, lastname
def Copy(self):
return Person(self.name, self.lastname)
После создания экземпляра класса я решил сохранить его в файле маринада.Теперь, после сохранения, я хочу создать новый экземпляр класса с данными из файла pickle, например:
with open("data.pkl", "rb") as data_file:
David = pickle.load(data_file).Copy()
Я ожидаю, что это сработает, так как метод copy был явно создан для создания новогоэкземпляр вместо того, чтобы просто указать новому объекту указывать на ту же область памяти.Тем не менее, я получаю сообщение об ошибке: 'NoneType' object has no attribute 'Copy'
Я думал о приведении этого, но просто приведение так:
David = Person(pickle.load(data_file)).Copy()
Также не работает, потому что он хочет получить аргументыфункция инициализации, а не ее приведение ...
, если кто-то может помочь, это было бы замечательно, потому что я искал и не нашел подобную проблему, или я не мог объяснить это достаточно хорошо вПриговор, чтобы найти его ... один из тех, LOL