看板 Python 關於我們 聯絡資訊
uranusjr: __dict__ 06/23 14:57
uranusjr: 漏看要對內建型別也有用, 這樣 global dir() 比較好 06/23 14:58
: 可是u大 dir後要怎樣過濾方法還是屬性呢 最正規的答案是沒有辦法, 因為 Python 沒有在分... 假設你有個 class 長這樣 class A: def __init__(self): self.x = 0 def f(self): print('hi') 你可能會想說 x 是屬性, f 是方法 但事情並沒有這麼簡單 如果我這樣... class A: def __init__(self): self.x = 0 self.y = self.f def f(self): print('hi') 那麼 y 是屬性嗎?但它和 f 的行為完全一樣 所以你根本分不出來... 所以你必須想好你真的想要的是什麼 如果你想知道的是「哪些屬性可以被呼叫」 那麼你可以用 callable() 函式 >>> a = A() >>> callable(a.f) True >>> callable(a.x) False >>> callable(a.y) True 如果你想知道哪些屬性是 function (不包含 class 和有定義 __call__ 的物件) 可以用 inspect.isfunction() 如果你想要知道哪些屬性是 method (只包含有 bound 到某個 instance 的 function) 那就用 inspect.ismethod() 還有一些其他微妙差異就交給你自己發現 另外如果你打算用 inspect 可以考慮搭配 inspect.getmembers() 的 predicate 省一些功夫 -- 作者 Linux (Windows) 看板 C_and_CPP 標題 [問題] 如何確認是否 free 對記憶體 時間 Fri Nov 2 00:14:03 2012
akasan:valgrind, 但 windowns 版的沒試過XD 11/02 00:43
akasan:linux 上那真的是不二選擇了 11/02 00:44
Linux:我是用 Windows ....>"< 11/02 00:45
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.19.12 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1498208971.A.CE0.html ※ 編輯: uranusjr (218.161.19.12), 06/23/2017 17:10:36
LessonWang: 非常感謝u大 被開導了一課xd 06/23 18:34
LessonWang: 推詳細說明 06/23 18:34