在Python中向列表实例添加方法
我想给一个'list'类的单个实例添加一个方法。举个例子:
a = [1,2]
a.first = lambda self: return self[0]
我知道这样做是不行的,但我想要的是能像这样工作的东西。我知道这样做不是个好习惯,也知道我应该创建一个全新的类,但我觉得在Python中这是可能的,只是我还没弄明白怎么做。
我知道有一些资料,比如: 动态给Python类的实例添加成员函数 还有 动态绑定Python方法到实例上可以正确绑定方法名,但不绑定方法本身
不过这些方法都不适用于原生的列表。
谢谢!
1 个回答
13
原生的列表是没办法添加新方法的,因为它是用C语言定义的,你不能直接在上面加东西。你需要从list
这个类派生出一个新的类,然后在这个新类里添加你想要的方法。