我需要通过SMTP接受电子邮件,因为这决定在Python中使用SMTPD Lib
。有一个类SMTPChannel
- 可以在这个类中添加一个方法吗?我宁愿不需要扩展它,但做一些我的方法将在加载时...
答案 0 :(得分:3)
您可以在运行时动态地将成员添加到任何内容,包括方法。您只需要将方法单独定义为函数,然后使用以下方法扩充类型:
def someMethod (self):
# do something with self
SMTPChannel.someMethod = someMethod
之后,SMTPChannel
类型的所有对象都可以访问该方法。
请注意,对于以两个下划线开头的成员,Python执行此操作不起作用。所以你无法做任何事情,你不能使用“outside”中的SMTPChannel
对象。