本文實例講述了Python實現(xiàn)動態(tài)添加屬性和方法操作。分享給大家供大家參考,具體如下:
創(chuàng)新互聯(lián)IDC提供業(yè)務(wù):雅安服務(wù)器托管,成都服務(wù)器租用,雅安服務(wù)器托管,重慶服務(wù)器租用等四川省內(nèi)主機(jī)托管與主機(jī)租用業(yè)務(wù);數(shù)據(jù)中心含:雙線機(jī)房,BGP機(jī)房,電信機(jī)房,移動機(jī)房,聯(lián)通機(jī)房。# -*- coding:utf-8 -*- #!python3 class Person(): def __init__(self, name, age): self.name = name self.age = age p1 = Person('ff', '28') print(p1.name, p1.age) # 給實例對象動態(tài)添加sex屬性 p1.sex = 'female' print(p1.sex) # 給類動態(tài)添加屬性 Person.height = None print(Person.height) p1.height = '155' print(p1.height) # 動態(tài)定義一個方法 def run(self, speed): print('run with %d speed' % speed) # 給實例綁定方法 import types p1.run = types.MethodType(run, p1) p1.run(30) # Person.run = run # 運行錯誤 # Person.run(4) @classmethod def run2(a, speed): print('run with %d m/s' % speed) # 給類動態(tài)綁定方法 Person.run2 = run2 # 給類綁定的方法, 需加修飾器 @classmethod, 標(biāo)定其為類方法,可被類添加 Person.run2(4) p1.run2(5) # 類的實例對象也可調(diào)用類動態(tài)添加的方法 @staticmethod def eat(): print('eat---') Person.eat = eat # 類可添加靜態(tài)方法, 定義靜態(tài)方法時,需加修飾器@staticmethod Person.eat() p1.eat() # 實例對象同樣可調(diào)用類動態(tài)添加的靜態(tài)方法 del p1.name # del 刪除屬性 delattr(p1, 'sex') print(p1.name, p1.sex)
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。