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,p2
p1 = Person('amy')
print(p1.name)
p1.age = 10 # 給p1對(duì)象添加屬性
print(p1.age) # 輸出10
p2 = Person('anne')
print(p2.name)
p2.age = 18 # 給p2對(duì)象添加屬性
print(p2.age) # 輸出18
運(yùn)行結(jié)果:
amy
10
anne
18
- 給類添加屬性
p1 = Person('amy')
p2 = Person('anne')
Person.sex = 'female'
print(p1.sex) # 輸出 female
print(p2.sex) # 輸出 female
p2.sex = 'male'
print(p2.sex) # 輸出 male
運(yùn)行結(jié)果:
female
female
male
動(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 = sleep
Person.sleep(p1) # 輸出 amy sleep
Person.sleep(p2) # 輸出 anne sleep
運(yùn)行結(jié)果:
amy sleep
anne 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)文章
Python企業(yè)編碼生成系統(tǒng)之系統(tǒng)主要函數(shù)設(shè)計(jì)詳解
這篇文章主要介紹了Python企業(yè)編碼生成系統(tǒng)之系統(tǒng)主要函數(shù)設(shè)計(jì),涉及目錄操作、文件讀寫、驗(yàn)證判斷、編碼輸出等功能實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-07-07
Python使用嵌套循環(huán)實(shí)現(xiàn)圖像處理算法
這篇文章主要給大家詳細(xì)介紹Python如何使用嵌套循環(huán)實(shí)現(xiàn)圖像處理算法,文中有詳細(xì)的代碼示例,具有一定的參考價(jià)值,需要的朋友可以參考下2023-07-07
Python之根據(jù)輸入?yún)?shù)計(jì)算結(jié)果案例講解
這篇文章主要介紹了Python之根據(jù)輸入?yún)?shù)計(jì)算結(jié)果案例講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
Python 編碼處理-str與Unicode的區(qū)別
本文主要介紹Python 編碼處理的問(wèn)題,這里整理了相關(guān)資料,并詳細(xì)說(shuō)明如何處理編碼問(wèn)題,有需要的小伙伴可以參考下2016-09-09
Python使用pandas和xlsxwriter讀寫xlsx文件的方法示例
今天小編就為大家分享一篇關(guān)于Python使用pandas和xlsxwriter讀寫xlsx文件的方法示例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-04-04
Python可執(zhí)行文件反編譯教程(exe轉(zhuǎn)py)
python的便利性,使得如今許多軟件開發(fā)者、黑客都開始使用python打包成exe的方式進(jìn)行程序的發(fā)布,那么Python如何反編譯可執(zhí)行文件,本文就來(lái)介紹一下,感興趣的可以了解一下2021-12-12

