[問題] 迭代物件中的所有非私有方法和欄位?

看板Python作者 (橘白Cat)時間8年前 (2017/06/23 14:55), 8年前編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/2 (看更多)
python新手發問 如題 例如有個自定義物件 class A: def __init__(self,a,b): self.a=a self.b=b def doSome(self): print(self.a) def doAnother(self): print(self.b) 請問有什麼函式或模組 可以返回物件中所有的非私有欄位 以例子來講 則為['a','b'] 以及返回物件中所有的非私有方法 以例子來講 則為['__init__','doSome','doAnother'] 而且對python內建的物件一樣有效果的 ----- Sent from JPTT on my Asus ASUS_Z00UD. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.242.43.210 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1498200925.A.613.html

06/23 14:57, , 1F
__dict__
06/23 14:57, 1F

06/23 14:58, , 2F
漏看要對內建型別也有用, 這樣 global dir() 比較好
06/23 14:58, 2F
可是u大 dir後要怎樣過濾方法還是屬性呢 ※ 編輯: LessonWang (27.242.43.210), 06/23/2017 16:23:36

06/23 21:52, , 3F
你用reflection當關鍵字搜看看
06/23 21:52, 3F
文章代碼(AID): #1PJBjTOJ (Python)
文章代碼(AID): #1PJBjTOJ (Python)