我想使用python-twitter
,但扩展Status
类以添加一些新方法和属性。这样做的pythonic方法是什么?
目前,我有向 a 添加属性和新功能的函数Status
,例如
process_status(status):
status.datetime = ...
status.phrase = ...
prettyprint_status(status):
# do something...
自然,我只想将额外的方法添加到Status
构造函数中。我发现了一个讨论这个问题的 stackoverflow 问题,它建议创建一个新模块,ext-twitter
其中包含每个类的新实现,如下所示:
# ext_twitter.py
import twitter
class Api(twitter.Api):
pass
class Status(twitter.Status):
def __init__(self, *args):
twitter.Status.__init__(self, *args)
self.args = args
self.time = parseTime(self.created_at)
self.phrase = ...
def prettyprint(self):
# something
但是,这不起作用,因为这些Status
类是由 Twitter API 对象生成的,并且这里的ext-twitter.Api()
调用python-twitter.Api()
没有引用我的扩展 Status 类。
有什么方法可以将我的功能添加到 python-twitter 模块而不分叉它并制作我自己的版本?