向内置函数添加方法

Add a method to a Built-In Function

如何向内置函数添加方法?

例如:

向列表添加推送功能(灵感来自 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 方法,而是将 any method 添加到 any 内置函数.
我只是举个例子。

谢谢!

完全笼统的答案是你不能。内置的东西在比正常 类 更低的级别实现,因此您在猴子修补等方面的自由度较低。

根据您的具体需求,可能会有变通方法。例如,如果你想要一个包含一些额外方法的列表,你可以 subclass it