self.u[i]
我知道元组的本质是不可变的,但是我想不出任何提供NamedTuple简洁性的数据对象。
(例如,如果要定义JSON对象的键和值,则可以简单地定义属性,如class Name(NamedTuple):
first_name: str
last_name: str
name: Name = Name(first_name="Guido", last_name="Rossum")
updated = {**name._asdict()}
updated.update({"last_name": "Fox"})
updated_name: Name = Name(**updated)
所示)
但是,假设我需要先更新属性,然后再保存到数据库中,然后能够在一行中完成该操作会很有用。
答案 0 :(得分:0)
我认为最好创建自定义类来存储数据,我会这样做:
class Name:
# use slots
# https://docs.python.org/3/reference/datamodel.html#slots
# https://stackoverflow.com/questions/472000/usage-of-slots
__slots__ = ('first_name', 'last_name')
def __init__(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name
def __repr__(self):
return "{} {}".format(self.first_name, self.last_name)
name: Name = Name('Guido', 'Van Rossum')
print(name)
name.last_name = 'Fox'
print(name)