在Python中向列表实例添加方法

10 投票
1 回答
3888 浏览
提问于 2025-04-17 02:48

我想给一个'list'类的单个实例添加一个方法。举个例子:

a = [1,2]
a.first = lambda self: return self[0]

我知道这样做是不行的,但我想要的是能像这样工作的东西。我知道这样做不是个好习惯,也知道我应该创建一个全新的类,但我觉得在Python中这是可能的,只是我还没弄明白怎么做。

我知道有一些资料,比如: 动态给Python类的实例添加成员函数 还有 动态绑定Python方法到实例上可以正确绑定方法名,但不绑定方法本身

不过这些方法都不适用于原生的列表。

谢谢!

1 个回答

13

原生的列表是没办法添加新方法的,因为它是用C语言定义的,你不能直接在上面加东西。你需要从list这个类派生出一个新的类,然后在这个新类里添加你想要的方法。

撰写回答