欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實現(xiàn)動態(tài)添加類的屬性或成員函數(shù)的解決方法

 更新時間:2014年07月16日 10:03:33   投稿:shichen2014  
這篇文章主要介紹了Python實現(xiàn)動態(tài)添加類的屬性或成員函數(shù)的解決方法,在類似插件開發(fā)的時候會比較有用,需要的朋友可以參考下

某些時候我們需要讓類動態(tài)的添加屬性或方法,比如我們在做插件時就可以采用這種方法。用一個配置文件指定需要加載的模塊,可以根據(jù)業(yè)務(wù)擴展任意加入需要的模塊。

本文就此簡述了Python實現(xiàn)動態(tài)添加類的屬性或成員函數(shù)的解決方法,具體方法如下:

首先我們可以參考ulipad的實現(xiàn):mixin。

這里做的比較簡單,只是聲明一個類,類初始化的時候讀取配置文件,根據(jù)配置列表加載特定目錄下的模塊下的函數(shù),函數(shù)和模塊同名,將此函數(shù)動態(tài)加載為類的成員函數(shù)。

代碼如下所示:

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文件,把目錄變?yōu)橐粋€包,在modules目錄下建立真正的BAS_GetUserList實現(xiàn):BAS_GetUserList文件中有個BAS_GetUserList函數(shù)如下:

def BAS_GetUserList(self, strs):
  return [0, strs]

這樣WinBAS類就可以動態(tài)加入了BAS_GetUserList函數(shù)。

相關(guān)文章

  • Python的Flask框架中實現(xiàn)簡單的登錄功能的教程

    Python的Flask框架中實現(xiàn)簡單的登錄功能的教程

    這篇文章主要介紹了Python的Flask框架中實現(xiàn)簡單的登錄功能的教程,登錄是各個web框架中的基礎(chǔ)功能,需要的朋友可以參考下
    2015-04-04
  • 在Python中定義一個常量的方法

    在Python中定義一個常量的方法

    今天小編就為大家分享一篇在Python中定義一個常量的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Python爬蟲實現(xiàn)獲取動態(tài)gif格式搞笑圖片的方法示例

    Python爬蟲實現(xiàn)獲取動態(tài)gif格式搞笑圖片的方法示例

    這篇文章主要介紹了Python爬蟲實現(xiàn)獲取動態(tài)gif格式搞笑圖片的方法,結(jié)合實例形式分析了Python針對gif格式圖片的爬取、下載等相關(guān)操作技巧,需要的朋友可以參考下
    2018-12-12
  • python em算法的實現(xiàn)

    python em算法的實現(xiàn)

    這篇文章主要介紹了python em算法的實現(xiàn),幫助大家更好的理解機器學(xué)習(xí),感興趣的朋友可以了解下
    2020-10-10
  • Numpy數(shù)據(jù)轉(zhuǎn)換成image并保存的實現(xiàn)示例

    Numpy數(shù)據(jù)轉(zhuǎn)換成image并保存的實現(xiàn)示例

    本文主要介紹了Numpy數(shù)據(jù)轉(zhuǎn)換成image并保存的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-12-12
  • python使用pygame模塊實現(xiàn)坦克大戰(zhàn)游戲

    python使用pygame模塊實現(xiàn)坦克大戰(zhàn)游戲

    這篇文章主要為大家詳細(xì)介紹了python使用pygame模塊實現(xiàn)坦克大戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • Matplotlib繪圖基礎(chǔ)之刻度詳解

    Matplotlib繪圖基礎(chǔ)之刻度詳解

    Matplotlib中刻度是用于在繪圖中表示數(shù)據(jù)大小的工具,通常以整數(shù)或小數(shù)表示,具體取決于坐標(biāo)軸的類型和限制,下面就為大家介紹一下Matplotlib中刻度是具體設(shè)置與使用吧
    2023-07-07
  • Python的函數(shù)使用詳解

    Python的函數(shù)使用詳解

    大家好,本篇文章主要講的是Python的函數(shù)使用詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • python實現(xiàn)大轉(zhuǎn)盤抽獎效果

    python實現(xiàn)大轉(zhuǎn)盤抽獎效果

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)大轉(zhuǎn)盤抽獎效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Python中使用pypdf2合并、分割、加密pdf文件的代碼詳解

    Python中使用pypdf2合并、分割、加密pdf文件的代碼詳解

    這篇文章主要介紹了Python中使用pypdf2合并、分割、加密pdf文件的代碼,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05

最新評論