[英]suggestion for correct python syntax
我正在尝试设计一种包含类组合的配置模式。 假设我们有一堂课。
class Node(object):
def __init__(self,a,b):
self.a = a
self.b = b
现在我想设计一个配置模式,我想定义这样的东西或它的变体。
Workflow = Node(1,2) & ( Node(4,2) | Node(5,6) ) & Node(1,7)
我实际上想将其保存在文件中,然后稍后再提取,然后断开所有节点,并按此处定义的相同顺序使用它们。 但这在语法上是不正确的。 您能建议我一些替代方法吗? 我可以使用上面定义的相同模式吗?
我不想使用字典和列表来保存它们,因为它们仅提供“,”作为分隔符。 而且字典没有排序,我将松开定义配置或节点的顺序。
不确定您的问题,但是如果要存储一个任意的配置树,我建议您尽可能使用“正常”数据类型。 这样,您的配置数据将更加易于存储和可移植性。
关于语义和顺序,您始终可以执行以下操作(有点类似于Lisp):
conf = [
['Workflow',
['and',
['Node', 1, 2],
['or',
['Node', 4, 2],
['Node', 5, 6]
],
['Node', 1, 7]
]
]
]
如果对您的人来说太丑陋了,您可以使用YAML (尽管不是在核心Python库中;请使用PyYaml ):
- - Workflow
- - and
- [Node, 1, 2]
- - or
- [Node, 4, 2]
- [Node, 5, 6]
- [Node, 1, 7]
(请注意,我对运算符使用小写字母,对类使用大写字母。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.