]> granicus.if.org Git - python/commit
Close #19030: inspect.getmembers and inspect.classify_class_attrs
authorEthan Furman <ethan@stoneleaf.us>
Fri, 18 Oct 2013 07:27:39 +0000 (00:27 -0700)
committerEthan Furman <ethan@stoneleaf.us>
Fri, 18 Oct 2013 07:27:39 +0000 (00:27 -0700)
commit63c141cacd0d655647430fe4b6a10c22d355aef2
tree74d992cc1102dd4a538ed9d027e7b3aec0d045af
parent0e0cd46227bb3e95cc6395ef514bf13f0d30c668
Close #19030: inspect.getmembers and inspect.classify_class_attrs

Order of search is now:
  1. Try getattr
  2. If that throws an exception, check __dict__ directly
  3. If still not found, walk the mro looking for the eldest class that has
     the attribute (e.g. things returned by __getattr__)
  4. If none of that works (e.g. due to a buggy __dir__, __getattr__, etc.
     method or missing __slot__ attribute), ignore the attribute entirely.
Doc/library/inspect.rst
Lib/inspect.py
Lib/test/test_inspect.py
Lib/types.py
Misc/NEWS