mirror of
https://github.com/python/cpython.git
synced 2025-07-28 05:34:31 +00:00
Backport from Py3k branch:
Patch #1591665: implement the __dir__() special function lookup in PyObject_Dir. Had to change a few bits of the patch because classobjs and __methods__ are still in Py2.6.
This commit is contained in:
parent
2681beb23e
commit
871f1bc601
5 changed files with 292 additions and 140 deletions
|
@ -495,15 +495,16 @@ builtin_dir(PyObject *self, PyObject *args)
|
|||
PyDoc_STRVAR(dir_doc,
|
||||
"dir([object]) -> list of strings\n"
|
||||
"\n"
|
||||
"Return an alphabetized list of names comprising (some of) the attributes\n"
|
||||
"of the given object, and of attributes reachable from it:\n"
|
||||
"\n"
|
||||
"No argument: the names in the current scope.\n"
|
||||
"Module object: the module attributes.\n"
|
||||
"Type or class object: its attributes, and recursively the attributes of\n"
|
||||
" its bases.\n"
|
||||
"Otherwise: its attributes, its class's attributes, and recursively the\n"
|
||||
" attributes of its class's base classes.");
|
||||
"If called without an argument, return the names in the current scope.\n"
|
||||
"Else, return an alphabetized list of names comprising (some of) the attributes\n"
|
||||
"of the given object, and of attributes reachable from it.\n"
|
||||
"If the object supplies a method named __dir__, it will be used; otherwise\n"
|
||||
"the default dir() logic is used and returns:\n"
|
||||
" for a module object: the module's attributes.\n"
|
||||
" for a class object: its attributes, and recursively the attributes\n"
|
||||
" of its bases.\n"
|
||||
" for an other object: its attributes, its class's attributes, and\n"
|
||||
" recursively the attributes of its class's base classes.");
|
||||
|
||||
static PyObject *
|
||||
builtin_divmod(PyObject *self, PyObject *args)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue