Python實(shí)現(xiàn)動(dòng)態(tài)給類和對(duì)象添加屬性和方法操作示例
本文實(shí)例講述了Python實(shí)現(xiàn)動(dòng)態(tài)給類和對(duì)象添加屬性和方法操作。分享給大家供大家參考,具體如下:
動(dòng)態(tài)給類和對(duì)象添加屬性
定義一個(gè)Person類
class Person(object): def __init__(self, name): self.name = name 給對(duì)象添加屬性
# 創(chuàng)建2個(gè)Person,分別為p1,p2p1 = Person(’amy’)print(p1.name)p1.age = 10 # 給p1對(duì)象添加屬性print(p1.age) # 輸出10p2 = Person(’anne’)print(p2.name) p2.age = 18 # 給p2對(duì)象添加屬性print(p2.age) # 輸出18
運(yùn)行結(jié)果:
amy10anne18
給類添加屬性p1 = Person(’amy’)p2 = Person(’anne’)Person.sex = ’female’print(p1.sex) # 輸出 femaleprint(p2.sex) # 輸出 femalep2.sex = ’male’print(p2.sex) # 輸出 male
運(yùn)行結(jié)果:
femalefemalemale
動(dòng)態(tài)給類和對(duì)象添加方法
動(dòng)態(tài)給類添加方法# 在類的外部定義一個(gè)sleep函數(shù)p1 = Person(’amy’)p2 = Person(’anne’)def sleep(self): print(’%s sleep’ % (self.name))Person.sleep = sleepPerson.sleep(p1) # 輸出 amy sleepPerson.sleep(p2) # 輸出 anne sleep
運(yùn)行結(jié)果:
amy sleepanne sleep
給對(duì)象添加方法import types # 如果是給對(duì)象動(dòng)態(tài)添加方法,需要導(dǎo)入types模塊p = Person(’amy’)def eat(self): print(’%s eat’ % (self.name))p.eat = types.MethodType(eat, p) # 調(diào)用MethodType()函數(shù),參數(shù)1:方法名,參數(shù)2:對(duì)象名p.eat() # 輸出 amy eat
運(yùn)行結(jié)果:
amy eat
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章:
1. ASP基礎(chǔ)入門第四篇(腳本變量、函數(shù)、過程和條件語句)2. php使用正則驗(yàn)證密碼字段的復(fù)雜強(qiáng)度原理詳細(xì)講解 原創(chuàng)3. jscript與vbscript 操作XML元素屬性的代碼4. Jsp servlet驗(yàn)證碼工具類分享5. XML在語音合成中的應(yīng)用6. 基于PHP做個(gè)圖片防盜鏈7. ASP將數(shù)字轉(zhuǎn)中文數(shù)字(大寫金額)的函數(shù)8. 基于javaweb+jsp實(shí)現(xiàn)企業(yè)車輛管理系統(tǒng)9. Jsp+Servlet實(shí)現(xiàn)文件上傳下載 文件列表展示(二)10. HTML5實(shí)戰(zhàn)與剖析之觸摸事件(touchstart、touchmove和touchend)
