03. Modules

Assume that you were working in a session and implemented a handful of functions. When you close that session, all those functions will be lost. For the next session, you would have to tediously rewrite and import each function.

A better approach to solving this problem is to import a python script that contains all the relevant functions. Such a script is known as a module, which can be imported with a single command.

Additionally, you could download a complete set of functions that are pre-written from the web. Such extensibility is what makes Python such an attractive language for data scientists and application programmers, who are able to use these packages to ease their workflow.

Creating your own module

To create your own module, create a plain text file with the .py extension.

# module hi.py
def HelloWorld():
  print("Hello World!")

Importing Modules

Now if we are in the same folder as hi.py, and we initialize Python, we may import our module.

>>> hi.HelloWorld()
Hello World!

Accessing functions directly

Note that the function names are stored within the local symbol table, so you have to precede each function call with hi. If you'd like to access the functions directly, you may do so:

>>> from sample import HelloWorld 
>>> HelloWorld()
Hello World!

Importing all functions

Importing all modules is sometimes considered bad practice, as you may be overwriting names that already exist. However, if you are sure no important names are overwritten, and want to make your code looking cleaner, you can do so using from sample import *. This effectively imports all functions from the sample.py module.

Importing a single function

In some cases you'll want to import just one function instead of the entire module. We may do so with the following syntax.

>>> from os import getcwd
>>> getcwd()
'/Users/JohnDoePC/Dropbox'

You may also want to import using a different name (alias). To do so, use the from and as keywords.

>>> from os import getcwd as pwd
>>> pwd()
'/Users/JohnDoePC/Dropbox'

Sample modules

Two of the most commonly used modules are the OS and Random modules. Let's take a quick look at them and how they can be used.

The OS Module

The os module provides an interface to the current operating system.

>>> import os
>>> os.getcwd()
'/Users/JohnDoePC/Dropbox'
>>> os.getlogin()
JohnDoePC

The Random Module

Another important module is one that allows you to generate random numbers. This is known as the random module.

>>> import random
>>> random.randint(2,4)
# Generates a random number between 2 and 4 (inclusive)
2

Aching back from coding all day?

Prism Glasses

Aching back from coding all day? Try Back Problems

Ever feel achy from sitting crunched up on your computer table? Try lying down with these optical glasses that allow you to work on your laptop while lying flat on your back. This is the perfect solution with those with limited mobility or those who wish to prevent neck cramps and back strains.

$ Check price
4.454.45Amazon 4 logo(128+ reviews)

More Back Problems resources

Learn to be a Pythonista!

Introducing Python

Learn to be a Pythonista! Try Python

Easy to understand and fun to read, Introducing Python is ideal for beginning programmers as well as those new to the language. Author Bill Lubanovic takes you from the basics to more involved and varied topics, mixing tutorials with cookbook-style code recipes to explain concepts in Python 3. End-of-chapter exercises help you practice what you learned.

$ Check price
39.9939.99Amazon 4.5 logo(37+ reviews)

More Python resources

Ad