新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python動態(tài)存取屬性如何實現(xiàn)
利用裝飾property實現(xiàn)了對私有屬性的讀取和保護,那么在VectorN中,如果我們需要通過vectorN.x\vectorN.y等方式讀取前幾個元素,是否也可以使用類似的方法呢?

我們提供的服務有:網(wǎng)站設計、網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、北林ssl等。為上1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的北林網(wǎng)站制作公司
答案當然可以,但是我們可以這樣處理兩三個元素。如果是多個元素,我們應該一個個創(chuàng)建方法,用property裝飾。Python提供了一種魔法方法__getattr___來處理這些問題。
__getattr__說明
1、當Python解釋器試圖獲得一個實例屬性時,在沒有實例字典的情況下,可以在其中找到類屬性。
2、如果沒有類屬性,可以在父類中找到,如果沒有,可以通過_getattr__函數(shù)獲得。
動態(tài)存取屬性實例
def __getattr__(self, name):
attrStr = "xyzt"
if len(name) == 1:
index = attrStr.find(name)
if 0 <= index < len(self):
return self.contents[index]
raise IndexError("list index out of range")以上就是python動態(tài)存取屬性的實現(xiàn),希望對大家有所幫助。更多Python學習指路:創(chuàng)新互聯(lián)python教程
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。
網(wǎng)頁名稱:創(chuàng)新互聯(lián)Python教程:python動態(tài)存取屬性如何實現(xiàn)
URL標題:http://www.5511xx.com/article/coeseod.html


咨詢
建站咨詢
