Re: [問題] 如何找到class的instance??

看板Python作者 (殘雲奪月)時間15年前 (2009/11/27 00:59), 編輯推噓0(005)
留言5則, 2人參與, 最新討論串2/10 (看更多)
最笨的方法 class a: pass x=a() def findx(clsname): abc=globals() for i in abc: try: if abc[i].__class__ == clsname.__class__: print abc[i].s except AttributeError: pass x.s=5 print type(x) y=a() y.s=66 findx(a()) 主要就是用globals找出所有變數 然後一個一個去比對資料型態 夠笨吧... ~ ~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.38.9.125

11/27 01:36, , 1F
可以直接傳A而不用a()再做一個instance
11/27 01:36, 1F

11/27 01:37, , 2F
inspect有getmembers跟isclass可以用
11/27 01:37, 2F

11/27 01:39, , 3F
話說回來builtin就有isinstance可以用 ...
11/27 01:39, 3F

11/27 01:41, , 4F
我忘了有isinstance,感謝樓上指導
11/27 01:41, 4F

11/27 02:48, , 5F
我因為一篇程式碼不合原問題要求所以自D了
11/27 02:48, 5F
文章代碼(AID): #1B3hFgag (Python)
討論串 (同標題文章)
文章代碼(AID): #1B3hFgag (Python)