Modules¶
Introduction¶
Python provides a huge number of useful functions and other such things. (These worksheets describe, perhaps, about 1% of what there is. Maybe 2%.) So many different functions might be confusing, so they’re parcelled up into things called modules.
Importing modules¶
You can think of a module as a collection of useful things. The actual definition is a bit complicated, so you don’t really need to worry about it in this class. To make the Useful Things in a module available to you, you have to import the module. So:
import stuff
makes the things in the module stuff
available for your program to use.
Those things will have names that look like stuff.thingy
so that there’s no
danger of two things in different modules colliding by having the same
name. It’s a bit like with telephone numbers: there are probably lots of people
whose phone number is 555-1234; that’s why there are area codes like 202
(for Washington, D.C.). The module name is like a dialling code.
Living dangerously¶
It can get very tiresome, having to type a module name in over and over again. So Python gives you a way to get at the things in a module more directly. If you say
from stuff import blarp, weeble
then the things that would have been called stuff.blarp
and
stuff.weeble
are available under the shorter names blarp
and
weeble
. This doesn’t import anything else from the module, under any name.
It might be worth doing this if you find yourself using some bits of a module a lot.
Living even more dangerously¶
What if you use lots of things from a module a lot? Then you can say
from stuff import *
which has the effect of making everything (well, almost everything) in module
stuff
available without needing to type stuff.
at the start of any of
the names. Doing this is usually a bad idea; there might be two modules
containing different things with the same name, and then all kinds of bad
things could happen.
There’s just one case in which we recommend that you do this: we wrote the
special Gasp module to make your life easier. Any program that uses anything
from it should begin with from gasp import *
. The main reason for that is
that we wanted you to be able to use the things in the module without needing
to understand what modules are and why they result in names like
stuff.thingy
…
Finding out what’s in a module¶
After doing import stuff
, you can get a list of all the names of things in
stuff
by typing dir(stuff)
. This probably won’t usually be very
helpful, but if you’re feeling like exploring…
Some useful modules¶
As I said at the start, there are a lot of modules out there. There are more than 170 modules that come as standard with Python! When you’re feeling brave, you might like to find out about some of them. Here’s a very brief list of things it’s worth knowing about. Look them up in the official Python documentation, or investigate for yourself — I recommend looking them up.
To understand some of the documentation, you may need to know about classes and objects: see Sheet O (Objects and Classes).
sys
Mostly some slightly useful variables.
string
Things for strings.
re
Regular expressions: a complicated but powerful way of doing more advanced things with strings.
math
Mathematical functions and constants.
random
Random numbers.
time
Time and date.