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

看板Python作者 (偶爾想擺爛一下)時間15年前 (2009/12/01 01:08), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串10/10 (看更多)
※ 引述《KSJ (阿真)》之銘言: : ※ 引述《sbrhsieh (偶爾想擺爛一下)》之銘言: : : 如果你的需求是在任意時刻訪問一 class/type 的所有 live object,那麼 : : globals() 回報的 mapping 裡有同名的現象(雖然我不認為會有)並無關緊要, : http://imgur.com/BK9v7.png
: 這個是qgis下的python console : 紅線是我的instance跟module同名部份 : 藍線是官方的plugin 也跟我的一樣有同名的instance跟module : 似乎是qgis的python console裡才會發生的 : 不知道是什麼原因@_@ 這麼亂~~~ 會不會是某個變數(binding)的值是個 dictionary,而此 dictionary 有同名的 binding,比如說: A=dict(B='Hello', C='World', D=dict(B=20), E=dict(C=30)) globals() {'A': {'C': 'World', 'B': 'Hello', 'E': {'C': 30}, 'D': {'B': 20}}, '__builtins__': <module '__builtin__' (built-in)>, '__name__': '__main__', '__doc__': None} 請你先暫時改成這樣子測試,再檢驗一次。 G = dict(globals()) for k, v in G.iteritems(): print '%s: %s\n' % (k, v) 或者是: len(globals()), len(set(globals())) # 看兩數是否相等。 : 為了這個繼承於 "object" : 我正在努力地看...orz : http://www.cafepy.com/article/python_types_and_objects/ : python_types_and_objects.html : (短網址 http://0rz.tw/xy7NW) : 不過裡面有用到object底下的東西嗎@_@? (我在字面上看不出來...) : cls是什麼啊 囧 在我認知裡 class下的def 的第一個參數就是他自己(self) : 用self來解釋似乎也通 : 關於 @staticmethod 看了一下官方文件 : 感覺是定義了class下的function : 這讓我對 class 跟 instance 的適用時機 更混雜了 囧 這算是 naming convention,變數(binding)你要怎麼命名都可以,妥善的命名 規則可以幫助程式閱讀與理解。 平常命名 instance method 的第一個 formal argument 為 self,是因為這個 變數指涉某種 class 的 instance,如果他會是指涉 class object(object 本身 是個 class),我就會把它命名成 cls(表示 class) or klass。 至於繼承自 object 則是為了讓正在定義的 class 成為 new style class。 我個人覺得這一頁連結的文章都蠻值得看得,除了求 MRO 的演算法可以暫時略過。 http://www.python.org/doc/newstyle/ : : foo.visit_live_objects(dump) : : # output: : : # Item 3 Item 0 Item 2 Item 4 Item 1 : 到這裡我去查了weak reference... : 稍稍了解他的用法(就像在此處的用法) : 不過有沒有比較平常的例子?? : 例如創了一個weak reference的變數,wref : 這個變數感覺上用起來很不踏實 囧 : 因為wref參考的東西隨時可能不見 : 這樣的東西怎麼用呢 使用 weak reference 就是為了它的特殊行為,它不會增加 referred object 的 reference count。使用 weak reference 的時機通常是我們需要可以 touch 某個 object,但是又不希望因此而妨礙 garbage collector 去收集此 object(或說影響 garbage collector 決定此 object 是否可以再利用)。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.136.253

12/01 01:55, , 1F
實如S大所提...有個plugins 變數 是dict type 囧>
12/01 01:55, 1F
文章代碼(AID): #1B4_mZ3t (Python)
討論串 (同標題文章)
文章代碼(AID): #1B4_mZ3t (Python)