使用python中的字典來模擬類,下面是一個簡單的例子
def newclass(**kwargs): """ 利用kwargs的update()方法來處理繼承問題""" def set(key, value): kwargs[key] = value kwargs['set'] = set return kwargs def Mammal(**kwargs): """ 哺乳動物基類 """ # 處理繼承問題 相當於__init__() kwargs.update(newclass()) # 哺乳動物有四條腿,相當於屬性 kwargs['legs'] = 4 # 相當於方法 def say(): return "沒有這個方法" # 相當於方法 def eat(): return "沒有這個方法" # 利用lambda kwargs['say'] = say kwargs['eat'] = eat return kwargs def Cat(**kwargs): print("獲得的引數", kwargs) kwargs.update(Mammal()) def say(): return "喵喵叫" kwargs['say'] = say return kwargs mammal = Mammal() # 方法屬性不再用 物件.方法 和 物件.屬性 而是用[]代替。 print(mammal['say']()) print(mammal['eat']()) print(mammal['legs']) cat1 = Cat() print(cat1['say']()) print(cat1['legs']) print(cat1['eat']()) # print("cat1 毛的顏色是:", cat1['紅色']) d = {"color": "紅色","legs":3} # 設定屬性 cat2 = Cat(**d) # 呼叫方法 print(cat2['say']()) # 讀取屬性 print(cat2['legs']) # 呼叫方法 print(cat2['eat']()) print("毛的顏色是:", cat2['紅色'])