我有要存储的卡数据。每张卡片包含:имя карты、ссылка на изображение和。我有几十张这样的卡片。我预计在不久的将来卡片的结构可能会开始改变,并且会添加/删除字段。它将像 Amazon 服务器上的 lambda 一样工作,因此每个操作都会有一个新的调用和所有数据的新初始化。список словключевая буква
这是我从一开始就创建的结构:
class CardData:
class Card1:
title = 'Card 1'
image_url = 'https://s3.amazonaws.com/...'
words = ['postgame', 'amongst', 'megaton', 'montage', ...]
key_letter = 't'
class Card2:
title = 'Card 2'
image_url = 'https://s3.amazonaws.com/...'
words = ['portside', 'riposte', 'deport', 'poser', ...]
key_letter = 'r'
现在我可以像这样访问我的数据getattr(CardData, 'Card1').words
让我感到困惑
的是: 1. 我一直不喜欢写作getattr。
2. 嵌套类必须具有相同的结构。我希望 IDE 告诉我是否遗漏了什么。
还有哪些其他选择?
对于 python 3.7+ 版本,值得使用
dataclass:获取数据变得更加容易
cards['card1'].words。对于python 3.7之前的版本,也可以试试
Enum接收数据还是很方便的
CardData['Card2'].words。