为了创建你的数据结构(HealthTrack),你需要实现以下方法:

  • _init_: 子类必须实现这个方法,才能在 UserList 或 List 之上进行扩展。如果子类需要特定的参数来创建实例,而不是一个可迭代的数据源,那么这个方法必不可少。

  • _setitem_: 在 UserList 或 List 子类中,可不实现这个方法。这个方法的作用是设定 list 的值。

  • _getitem_: 在 UserList 或 List 子类中,可不实现这个方法。这个方法用于获取 list 的值或切片。

  • __len__: 如果子类需要计算自己的长度,那么这个方法必不可少,这里假设使用了序列的长度。

  • _repr_: 你可能需要实现这个方法,才能控制 list 在调试模式下的表现形式。

  • __str__: 用于控制 list 在打印时的表现形式,当你需要在前台操作 UserList 或 List 的实例时,这个方法就派得上用场了。

  • ioriandilshiftirshiftixor:这些运算符和函数是内置的方法,在 list 实例上执行的。

  • _eq_: 这个方法可以在 UserList 子类中实现一个特定的比较,即检查 list 当前的 state 是不是等于另一个 list 或 sequence。

  • _lt_:

  • _le_:
  • _gt_:
  • _ge_: 这些比较方法也是可选的,但是在某些情况下可能有用。

考虑到实现上述所有方法的数量比较庞大,而且有很多已经内置的方法,如果你想要构建一个新数据结构(HealthTrack),从零开始创建可能会更容易。