From b1450ca436189e4f66852aa5820208b50fc5e461 Mon Sep 17 00:00:00 2001 From: Karen Zeng Date: Thu, 13 Apr 2023 15:45:21 -0400 Subject: [PATCH] assessment1_toaster --- assessment1.py | 67 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 65 insertions(+), 2 deletions(-) diff --git a/assessment1.py b/assessment1.py index 52ac5cf..43e55da 100644 --- a/assessment1.py +++ b/assessment1.py @@ -1,4 +1,4 @@ -from Simulation import Simulation +''' class Vault: def __init__(self): self._treasure = "gold" @@ -15,4 +15,67 @@ class Vault: if self.__dict__ != self._attributes: print("attribute deleted!") return self._treasure - + +v=Vault() +print(v.treasure) +''' +''' +class Vault: + def __init__(self): + self._treasure = "gold" + self._original_dict = dict(self.__dict__) + + def __setattr__(self, name, value): + if name != "_treasure" and name in self.__dict__ and self._original_dict.get(name) != value: + print("attribute deleted!") + self.__dict__[name] = value + + @property + def treasure(self): + if self.__dict__ != self._original_dict: + print("attribute deleted!") + return self._treasure +v = Vault() +print(v.treasure) +''' +''' +class Vault: + def __init__(self): + self._treasure = "gold" + self._attributes = dict(self.__dict__) + + def __setattr__(self, name, value): + if name != "_attributes" and name not in self._attributes: + print("attribute deleted!") + self._attributes[name] = value + super().__setattr__("_attributes", dict(self.__dict__)) + + @property + def treasure(self): + if self.__dict__ != self._attributes: + print("attribute deleted!") + return self._treasure + +v = Vault() +print(v.treasure) +''' + +class Vault: + def __init__(self): + self._treasure = "gold" + + def __setattr__(self, name, value): + if name != "_attributes" and name not in self.__dict__: + print("attribute deleted!") + self.__dict__[name] = value + self._attributes = dict(self.__dict__) + + @property + def treasure(self): + if self.__dict__ != self._attributes: + print("attribute deleted!") + return self._treasure + +v = Vault() +print(v.treasure) +