如何解决嵌套的静态数据的最佳数据结构
我正在尝试编写某种数据结构,该数据结构封装了图形网络的架构(节点,边,属性)。该图具有多种类型的节点和边,每个节点和边内可以具有0个或更多属性。
我尝试了以下方法,但是在嵌套的多个层次上它变得非常混乱。
from collections import namedtuple
from abc import ABC
NodeProperty = namedtuple("NodeProperty",["name","type","cardinality"])
EdgeProperty = namedtuple("EdgeProperty","type"])
class NodeSchema:
class NodeType(ABC):
def __str__(self):
return self.name
class Customer(NodeType):
name = "Customer"
class Property:
customer_id = NodeProperty("customer_id",int,1)
blocked = NodeProperty("blocked",bool,1)
class Email(NodeType):
name = "Email"
class Property:
email_address = NodeProperty("email_address",str,1)
...
class EdgeSchema:
....
我希望能够做以下事情:
print(NodeSchema.Customer.name)
print(NodeSchema.Customer.Property.blocked.type)
for property in NodeSchema.Customer.Property:
print(property.name,property.cardinality)
它将输出:
Customer
<class 'bool'>
customer_id 1
blocked 1
我完全愿意就更好的组织方式提出建议。枚举会更合适吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。