I'm just starting to use bpython, mainly because I really think it will help the office nubs a lot. In bpython, it continually shows help text as you type. For example
>>> zip( ┌────────────────────────────────────────────────────────────────────────┐ │ zip: (seq1 [, seq2 [...]]) │ │ zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)] │ │ │ │ Return a list of tuples, where each tuple contains the i-th element │ │ from each of the argument sequences. The returned list is truncated │ │ in length to the length of the shortest argument sequence. │ └────────────────────────────────────────────────────────────────────────┘
This is great for the less educated (and even novice's like myself). However nothing shows up for my custom built functions. I thought maybe it was just displaying the docstring so I added docstrings to my functions. Nothing changed. Can someone explain to me what it is showing here and how I add it to my functions?
EDIT: It must be some weird inheritance issue. This is being done with Django's custom managers.
class PublicationManager(models.Manager): """blarg""" def funct(arg): """foo""" pass class Publication(models.Model): objects = PublicationManager()
Typing PublicationManager.funct(
shows the docstring but Publication.objects.funct(
does not. I guess the nubs will have to figure it out for themselves.
Add your documentation string as the first line of your function:
Use triple quotes if it spans multiple lines:
To get at the help in the repl use help():
Or to programmatically get at the docstring, use
__doc__
: