如何在Python类中添加自定义方法?

用户名

我需要通过SMTP接受电子邮件,因此决定SMTPD Lib在Python中使用有一个类SMTPChannel-是否可以向该类添加方法?我宁愿不需要扩展它,但要做一些使我的方法在加载时就存在的事情...

您可以在运行时将成员动态添加到任何事物,包括方法。您只需要将方法单独定义为一个函数,然后使用该方法扩展类型:

def someMethod (self):
    # do something with self

SMTPChannel.someMethod = someMethod

之后,所有类型的对象SMTPChannel都可以访问该方法。

请注意,对于以两个下划线开头的成员,使用名称修改Python不能做到这一点。因此,您实际上无法执行任何操作,也无法SMTPChannel“外部”使用该对象

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

VB.NET-如何在linq中向类对象添加自定义方法?

如何在Lumen的响应类中添加自定义方法

如何在TinyMCE 4中的自定义按钮上添加自定义类addButton()

如何在PHP中动态添加自定义方法

如何在JavaScript中向自定义构造函数添加自定义方法?

如何在Python中编写自定义`.assertFoo()`方法?

如何在Android Studio中将ImageView添加到自定义视图类中?

如何在Perl 6中为我的自定义类添加下标?

如何在Yii2表单字段中为标签添加自定义类?

如何在管理屏幕子菜单项中添加自定义HTML类名称?

如何在情节提要中添加自定义UIControl类?

如何在Laravel 5中添加自己的自定义类?

如何在pytorch自定义模型的模块类中添加参数?

如何在Qt中添加自定义类处理功能

如何在自定义htmlhelper中添加“类”的默认属性值?

如何将自定义类添加到 TinyMCE 中的自定义按钮?

如何在Swift中创建自定义UITableViewCell类?

如何在自定义NSManagedObject类中映射关系

如何在Google脚本中声明自定义类?

如何在Ember中创建自定义错误类?

如何在Hadoop中自定义Writable类?

如何在自定义类中显示ContextMenu?

如何在Laravel 5.1中引用自定义类?

如何在Java中创建自定义JButton类?

如何在Cloudmine中创建自定义登录类?

如何在自定义类对象上使用pandas中的.loc方法?

如何在AutoMapper中添加自定义逻辑?

如何在Grinder中添加自定义统计信息

如何在VueJS中添加自定义排序?