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()

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()

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()
>>> os.getlogin()

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)

Aching back from coding all day?

Acupressure Mat & Pillow

Aching back from coding all day? Try Back Problems

Relieve your stress, back, neck and sciatic pain through 1,782 acupuncture points for immediate neck pain relief. Made for lower, upper and mid chronic back pain treatment, and improves circulation, sleep, digestion and quality of life.

$$ Check price
144.87144.87Amazon 4.5 logo(1,890+ reviews)

More Back Problems resources

Learn to be a Pythonista!

Python Playground

Learn to be a Pythonista! Try Python

Python Playground is a collection of fun programming projects that will inspire you to new heights. You'll manipulate images, build simulations, and interact with hardware using Arduino & Raspberry Pi. With each project, you'll get familiarized with leveraging external libraries for specialized tasks, breaking problems into smaller, solvable pieces, and translating algorithms into code.

$ Check price
29.9529.95Amazon 4 logo(14+ reviews)

More Python resources