Python Modules

What is a Module?

Consider a module to be the same as a code library.

A file containing a set of functions you want to include in your application.

Create a Module

To create a module just save the code you want in a file with the file extension .py:


Save this code in a file named

def greeting(name):
  print("Hello, " + name)

Use a Module

Now we can use the module we just created, by using the import statement:


Import the module named mymodule, and call the greeting function:

import mymodule


Note: When using a function from a module, use the syntax: module_name.function_name.

Variables in Module

The module can contain functions, as already described, but also variables of all types (arrays, dictionaries, objects etc):


Save this code in the file

person1 = {
  "name": "John",
  "age": 36,
  "country": "Norway"


Import the module named mymodule, and access the person1 dictionary:

import mymodule

a = mymodule.person1["age"]

Naming a Module

You can name the module file whatever you like, but it must have the file extension .py

Re-naming a Module

You can create an alias when you import a module, by using the as keyword:

Python Modules

A module is a file containing Python definitions and statements. A module can define functions, classes, and variables. A module can also include runnable code. Grouping related code into a module makes the code easier to understand and use. It also makes the code logically organized.


We can use any Python source file as a module by executing an import statement in some other Python source file. When the interpreter encounters an import statement, it imports the module if the module is present in the search path. A search path is a list of directories that the interpreter searches for importing a module. For example, to import the module, we need to put the following command at the top of the script : 



Python’s from statement lets you import specific attributes from a module. The from .. import .. has the following syntax :

 # importing sqrt() and factorial from the
# module math
frommath importsqrt, factorial
# if we simply do "import math", then
# math.sqrt(16) and math.factorial()
# are required.



The * symbol used with the from import the statement is used to import all the names from a module to a current namespace.

For more, checkout W3Schools and Geeks For Geeks.