考虑以下数据集:
{
'name': 'somecat',
'lives': [
{'number': 1, 'did': 'nothing'},
{'number': 2, 'did': 'saved the world'}
]
}
我想要做的是attrs
用来定义一个数据类,这样即使使用索引号我也可以自动完成
import attr
@attr.s
class Cat(object):
name = attr.ib()
lives: list = [
{'number': int, 'did': str} # trying to get autocompletion here
]
c = Cat('somecat')
print(c)
c.lives[0].number # trying to get autocompletion here
上面的代码无效,但这是我想要完成的。
我该怎么做呢?我知道metadata
,但那是不可变的。dataclasses
如果这更有意义,我也愿意使用。