10.1. Modules and Getting HelpΒΆ

A module is a file containing Python definitions and statements intended for use in other Python programs. There are many Python modules that come with Python as part of the standard library. We have already used one of these quite extensively, the turtle module. Recall that once we import the module, we can use things that are defined inside.

Here we are using Screen and Turtle, both of which are defined inside the turtle module.

But what if no one had told us about turtle? How would we know that it exists. How would we know what it can do for us? The answer is to ask for help and the best place to get help about the Python programming environment is to consult with the Python Documentation.

The Python Documentation site for Python version 3 (the home page is shown below) is an extremely useful reference for all aspects of Python. The site contains a listing of all the standard modules that are available with Python (see Global Module Index). You will also see that there is a Language Reference and a Tutorial (mostly aimed at people who are already familiar with another programming language), as well as installation instructions, how-tos, and frequently asked questions. We encourage you to become familiar with this site and to use it often.

../_images/pythondocmedium.png

If you have not done so already, take a look at the Global Module Index. Here you will see an alphabetical listing of all the modules that are available as part of the standard library. Find the turtle module.

../_images/moduleindexmedium.png ../_images/turtlemodmedium.png

You can see that all the turtle functionality that we have talked about is there. However, there is so much more. Take some time to read through and familiarize yourself with some of the other things that turtles can do.

Note: Python modules and limitations with activecode

Throughout the chapters of this book, activecode windows allow you to practice the Python that you are learning. We mentioned in the first chapter that programming is normally done using some type of development environment and that the activecode used here was strictly to help us learn. It is not the way we write production programs.

To that end, it is necessary to mention that many of the modules available in standard Python will not work in the activecode environment. In fact, only turtle, math, and random have been completely ported at this point. If you wish to explore any additional modules, you will need to also explore using a more robust development environment.

Check your understanding

    modules-1-1: In Python a module is:
  • A file containing Python definitions and statements intended for use in other Python programs.
  • A module can be reused in different programs.
  • A separate block of code within a program.
  • While a module is separate block of code, it is separate from a program.
  • One line of code in a program.
  • The call to a feature within a module may be one line of code, but modules are usually multiple lines of code separate from the program
  • A file that contains documentation about functions in Python.
  • Each module has its own documentation, but the module itself is more than just documentation.
    modules-1-2: To find out information on the standard modules available with Python you should:
  • Go to the Python Documentation site.
  • The site contains a listing of all the standard modules that are available with Python.
  • Look at the import statements of the program you are working with or writing.
  • The import statements only tell you what modules are currently being used in the program, not how to use them or what they contain.
  • Ask the professor
  • While the professor knows a subset of the modules available in Python, chances are the professor will have to look up the available modules just like you would.
  • Look in this textbook.
  • This book only explains a portion of the modules available. For a full listing you should look elsewhere.
    modules-1-3: True / False: All standard Python modules will work in activecode.
  • True
  • Only turtle, math, and random have been ported to work in activecode at this time.
  • False
  • Only turtle, math, and random have been ported to work in activecode at this time.