python 规则执行
# *_*coding:utf-8 *_* # @Author : zyb class Rule: def __init__(self, condition, action): #初始化规则:两个函数,第一个函数成立返回True,执行第二个函数 self.condition = condition self.action = action def evaluate(self, facts): #评估规则:param facts: 事实字典 if self.condition(facts): self.action(facts) class Agenda: def __init__(self): self.rules = [] #添加规则到引擎 Rule 对象 def add_rule(self, rule): self.rules.append(rule) def run(self, facts): """运行规则引擎:param facts: 事实字典""" for rule in self.rules: rule.evaluate(facts) class Fact(dict): def __getattr__(self, name): return self.get(name,None) if __name__ == '__main__': # 第一个判断函数 def one_condition_one(facts): print('第一个判断函数:', facts) return False # 第一个执行函数 def one_condition_two(facts): print('第一个执行函数:', facts) # 创建规则引擎 engine = Agenda() # 添加规则 engine.add_rule(Rule(one_condition_one, one_condition_two)) y = Fact(x=6,y=7) x = {'x': 6, 'y': 7} # 运行规则引擎 engine.run(y) engine.run(x)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述