python给函数添加属性_Python实现动态添加类的属性或成员函数的解决方

一些情况下大家必须让类动态性的加上特性或方式,例如我们在做软件时就可以选用这类方式。用一个环境变量特定必须载入的控制模块,能够依据业务流程拓展随意添加必须的控制模块。

文中从此概述了Python完成动态性加上类的特性或友元函数的解决方案,具体做法以下:

最先我们可以参照ulipad的完成:mixin。

这儿做的非常简单,仅仅申明一个类,类复位的情况下载入环境变量,依据配备目录载入特殊文件目录下的控制模块下的涵数,涵数和控制模块同名的,将此涵数动态性载入为类的友元函数。

编码以下所显示:class WinBAS(Bas): def __init__(self): self.__baslist = {} self.__Init_Modules() pass def __Init_Modules(self): import modplugs for m in modplugs.__moduleset__:mh = __import__('modules.' m)# '.' m)ma = getattr(mh, m)# '.' m)ma = getattr(ma, m)setattr(self.__class__, m, ma)

modplugs.py是控制模块环境变量以下:__moduleset__ = ['BAS_GetUserList',]

随后创建文件目录modules下边创建一个空的__init__.py文件,把文件目录变成一个包,在modules文件目录下创建真实的BAS_GetUserList完成:BAS_GetUserList文档中有一个BAS_GetUserList涵数以下:def BAS_GetUserList(self, strs): return [0, strs]

那样WinBAS类就可以动态性添加了BAS_GetUserList涵数。文章内容来源于:www.seo-7.com

(责任编辑:网络)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值