__doc__ https://docs.python.org/3/library/pydoc.html describes the help() function; which you can also call with:
$ pydoc modname $ python -m pydoc modname IPython: >>> help(modname) >>> ?modname >>> modname? >>> !pydoc modname >>> !python -m pydoc modname https://ipython.readthedocs.io/en/stable/interactive/python-ipython-diff.html#accessing-help On Fri, Apr 3, 2020, 4:28 PM Chris Angelico <ros...@gmail.com> wrote: > On Sat, Apr 4, 2020 at 7:02 AM Christopher Barker <python...@gmail.com> > wrote: > > So if folks think it's a good idea to allow modules to have a custom > __str__: it would be nice to add that feature to Python. > > > > I'm not saying I advocate for that -- but it's not completely > unreasonable. > > > > It's not unreasonable, I agree. But it's also unnecessary. In theory, > PEP 562 could have gone for a broader recommendation eg "any dunder on > a module will be looked up in the instance", but in practice, which > ones are you actually going to need? PEP 562 chose two (__getattr__ > and __dir__), with definite use-cases for each. There's no need to > override __new__/__init__, since the module body serves that purpose. > Comparisons (__lt__ etc) don't make a lot of sense. Modules are > generally singletons, so __hash__ and __eq__ aren't needed (the > default of using object identity is fine). > > There is *one* other dunder that I can imagine getting some good use, > and that's __call__. A few others might have occasional uses (maybe > __setattr__ for deprecation warnings, same as __getattr__, and maybe > __enter__/__exit__ so the module itself can be a context manager), but > they would be rather more rare. Changing the repr/str of a module > would also be pretty unusual. > > Fortunately, the unusual case IS possible - just not as easy. You > subclass the module type, instantiate your subclass, and shove the > instance into sys.modules. So if you really do need to mess with the > repr of your module, you can, even if it's a package :) > > ChrisA > _______________________________________________ > Python-ideas mailing list -- python-ideas@python.org > To unsubscribe send an email to python-ideas-le...@python.org > https://mail.python.org/mailman3/lists/python-ideas.python.org/ > Message archived at > https://mail.python.org/archives/list/python-ideas@python.org/message/UDPYBEJHHYV2Z62PKU6WVZXBMZCFAOSN/ > Code of Conduct: http://python.org/psf/codeofconduct/ >
_______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/YDYSFOPBBJG5A5PCVMSQH22FOUO5C7TG/ Code of Conduct: http://python.org/psf/codeofconduct/