为了创建你的数据结构(HealthTrack),你需要实现以下方法:
-
_init_: 子类必须实现这个方法,才能在 UserList 或 List 之上进行扩展。如果子类需要特定的参数来创建实例,而不是一个可迭代的数据源,那么这个方法必不可少。
-
_setitem_: 在 UserList 或 List 子类中,可不实现这个方法。这个方法的作用是设定 list 的值。
-
_getitem_: 在 UserList 或 List 子类中,可不实现这个方法。这个方法用于获取 list 的值或切片。
-
__len__: 如果子类需要计算自己的长度,那么这个方法必不可少,这里假设使用了序列的长度。
-
_repr_: 你可能需要实现这个方法,才能控制 list 在调试模式下的表现形式。
-
__str__: 用于控制 list 在打印时的表现形式,当你需要在前台操作 UserList 或 List 的实例时,这个方法就派得上用场了。
-
ior、iand、ilshift、irshift、ixor:这些运算符和函数是内置的方法,在 list 实例上执行的。
-
_eq_: 这个方法可以在 UserList 子类中实现一个特定的比较,即检查 list 当前的 state 是不是等于另一个 list 或 sequence。
-
_lt_:
- _le_:
- _gt_:
- _ge_: 这些比较方法也是可选的,但是在某些情况下可能有用。
考虑到实现上述所有方法的数量比较庞大,而且有很多已经内置的方法,如果你想要构建一个新数据结构(HealthTrack),从零开始创建可能会更容易。
评论 (0)