What is the difference between a module and a package in Python?

By Rama, 6 months ago
  • Bookmark

Explain modules and package,in python

1 Answer

Module :

A module is a file containing Python definitions and statements. The file name is the module name with the suffix .py appended. Within a module, the module’s name (as a string) is available as the value of the global variable __name__.

Example :

to create a file called fibo.py in the current directory with the following contents:

# Fibonacci numbers module

def fib(n):  # write Fibonacci series up to n
  a, b = 0, 1
  while a < n:
    print(a, end=' ')
    a, b = b, a+b

def fib2(n):  # return Fibonacci series up to n
  result = []
  a, b = 0, 1
  while a < n:
    a, b = b, a+b
  return result

Now enter the Python interpreter and import this module with the following command:

>>> import fibo

This does not enter the names of the functions defined in fibo directly in the current symbol table; it only enters the module name fibo there. Using the module name you can access the functions:

>>> fibo.fib(1000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987

>>> fibo.fib2(100)
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]

>>> fibo.__name__

If you intend to use a function often you can assign it to a local name:

>>> fib = fibo.fib
>>> fib(500)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377

Package :

The package is a simple directory having collections of modules. This directory contains Python modules and also having __init__.py file by which the interpreter interprets it as a Package. The package is simply a namespace. The package also contains sub-packages inside it.



__init__.py (Constructor)

details.py (Module)

marks.py (Module)

collegeDetails.py (Module)

Users of the package can import individual modules from the package, for example:

>>>import Student.details

An alternative way of importing the submodule is:

>>>from Student import marks

Your Answer


More webinars

Related Discussions

Running random forest algorithm with one variable

View More
We're Online!

Chat now for any query