defining classes putting classes in modules often well-defined class or set of classes provides useful abstractions that can be leveraged in many different programs for examplewe might want to turn our projectile class into its own module file so that it can be used in other programs in doing soit would be good idea to add documentation that describes how the class can be used so that programmers who want to use the module don' have to study the code to figure out (or rememberwhat the class and its methods do module documentation you are already familiar with one way of documenting programsnamely comments it' always good idea to provide comments explaining the contents of module and its uses in factcomments of this sort are so important that python incorporates special kind of commenting convention called docstring you can insert plain string literal as the first line of moduleclass or function to document that component the advantage of docstrings is thatwhile ordinary comments are simply ignored by pythondocstrings are actually carried along during execution in special attribute called __doc__ these strings can be examined dynamically most of the python library modules have extensive docstrings that you can use to get help on using the module or its contents for exampleif you can' remember how to use the random functionyou can print its docstring directly like thisimport random print(random random __doc__random(- in the interval [ docstrings are also used by the python online help system and by utility called pydoc that automatically builds documentation for python modules you could get the same information using interactive help like thisimport random help(random randomhelp on built-in function randomrandomrandom(- in the interval [ if you want to see whole bunch of information about the entire random moduletry typing help(randomhere is version of our projectile class as module file with docstrings includedprojectile py """projectile py provides simple class for modeling the