如何向内置函数添加方法?
例如:
将推送功能(灵感来自deque
模块)添加到列表中
def push(self, element):
self.insert(0, self) # First way I could think of
# And adding push to built-in `list`
# Example:
class list:
def __init__(self, iterable):
# Do something with iterable
self.push = push
不一定是push
方法,但添加任何方法到任何内置函数。
我只是举个例子。
谢谢!
你不能。它们在C中实现,低于您拥有控制权的级别。如果你想拥有扩展列表功能,你应该用你自己的类封装Python的列表。例如
class Dequeue:
def __init__(self):
self._data = []
def push(self, x):
self._data.insert(0, x)
查看listobject.c以获取Python列表的实现。您可以使用Ctrl-F为list_pop
或list_remove
查看实际功能。有关详细信息,请参阅this answer。