[問題] 存取 class 內的變數

看板Python作者 (mail6543210)時間14年前 (2011/06/15 16:02), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/2 (看更多)
假設class為: class A(object): def __init__(self): self.__a='123' self.__b='asd' 在另一個程式中要怎麼存取這兩個變數? 我知道可以用_A__a,_A__b,但我是想寫一個像是lxml.etree._Element.get()/.set() 的方法, .get(self,key)回傳是value .set(self,key,value)回傳是None 我想要寫出這種函式,輸入key(不含__)就可以存取value: t=A() t.set('a','678')#t._A__a='678' t.get('b')#'asd' 已知可用member function: def set(self,key,val): setattr(self,'_A__'+key,val) 但有沒有辦法不用'_A__'改用self之類的?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.91.51

06/25 00:06, , 1F
如果你要這樣做, 就不要把它用 __ 修飾啊.........
06/25 00:06, 1F
文章代碼(AID): #1D-DUChI (Python)
文章代碼(AID): #1D-DUChI (Python)