向内置函数添加方法
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
如何向内置函数添加方法?
例如:
向列表添加推送功能(灵感来自 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