看板 Python 關於我們 聯絡資訊
最笨的方法 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
AndCycle:可以直接傳A而不用a()再做一個instance 11/27 01:36
AndCycle:inspect有getmembers跟isclass可以用 11/27 01:37
AndCycle:話說回來builtin就有isinstance可以用 ... 11/27 01:39
ya790206:我忘了有isinstance,感謝樓上指導 11/27 01:41
ya790206:我因為一篇程式碼不合原問題要求所以自D了 11/27 02:48