feat: 改进对象系统

This commit is contained in:
2026-01-01 20:18:18 +08:00
parent d25e398701
commit bd313db5f2
39 changed files with 682 additions and 180 deletions

View File

@@ -1,17 +1,17 @@
from heurams.services.logger import get_logger
from copy import deepcopy
from heurams.services.logger import get_logger
from heurams.utils.evalizor import Evalizer
logger = get_logger(__name__)
class Nucleon:
"""原子核: 带有运行时隔离的模板化只读材料元数据容器
"""
"""原子核: 带有运行时隔离的模板化只读材料元数据容器"""
def __init__(self, ident, payload, common):
self.ident = ident
env = {
"payload": payload
}
env = {"payload": payload}
self.evalizer = Evalizer(environment=env)
self.data = self.evalizer(deepcopy((payload | common)))
@@ -19,10 +19,10 @@ class Nucleon:
if key == "ident":
return self.ident
return self.data[key]
def __setitem__(self, key, value):
raise AttributeError("应为只读")
def __delitem__(self, key):
raise AttributeError("应为只读")
@@ -31,12 +31,12 @@ class Nucleon:
def __contains__(self, key):
return key in (self.data)
def get(self, key, default=None):
if key in self:
return self[key]
return default
def __len__(self):
return len(self.data)
@@ -48,5 +48,5 @@ class Nucleon:
_data = nucleonic_data
payload = _data[1][0]
common = _data[1][1]
ident = _data[0] #TODO:实现eval
return Nucleon(ident, payload, common)
ident = _data[0] # TODO:实现eval
return Nucleon(ident, payload, common)