Python Modules | Creating Modules and Importing Modules In Python MSBTE

Python Modules | Creating Modules and Importing Modules In Python MSBTE

Python Modules | Creating Modules and Importing Modules In Python MSBTE
Python Modules | Creating Modules and Importing Modules In Python MSBTE

    Python Modules 

    • Previous sections were all about defining functions and using them. In this section we will discuss about Python modules, for the purpose of re-usability again. 
    • A module is a file, containing functions ,classes and global variables.
    • A module can also include runnable code.
    • Grouping related code into a module makes the code easier to understand and use it by using simple import statement.

    Writing Modules

    • We don't require any additional effort or syntax of keyword to define a module. Just save your code in a Python with extension .py. To begin this discussion, let's start with a very easy module.
    • def cw_Add(no1,no2):
            return no1+no2
      def cw_Sub(no1,no2):
            return no1-no2
      def cw_Div(no1,no2):
             return no1/no2
      def cw_Multiply(no1,no2):
             return no1*no2
      def cw_Power(no1,no2):
             return no1**no2
    • Let's save above code as "cwpedia_operations.py" ,After saving above code, the file cwpedia_operations will behave as a module and can be imported anytime by using simple import statement.

    Importing Modules

    • After defining required module, now it is time to use it in other Python file or other Python module. Use keyword import to do this. Following sub-sections shows different ways and purposes to import and use a module.

    Simple import Statement

    • We can import module using import statement and access its entities by using the dot operator. To import, general syntax is :
      • import module_name
    • Note that this simple import statement will not make the entities of modules directly accessible. Technically, it will only create a separate namespace and link it with current Python file. To use the entities of imported module, we have use following syntax
      • module_name.entity_name
    • Here is a Python file that imports above module cwpedia_operations and uses its entities.
    • import cwpedia_operations
      n1=5
      n2=2
      print("Addition Of ",n1,"and",n2,"is",cwpedia_operations.cw_Add(n1,n2))
      print("Subtraction Of ",n1,"and",n2,"is",cwpedia_operations.cw_Sub(n1,n2))
      print("Division Of ",n1,"and",n2,"is",cwpedia_operations.cw_Div(n1,n2))
      print("Multiplication Of ",n1,"and",n2,"is",cwpedia_operations.cw_Multiply(n1,n2))
      print(n1,"raised to",n2,"is",cwpedia_operations.cw_Power(n1,n2))
    • Let’s call above Python file as “testing module.py". Note the statements from line-4 to line-8, The functions defined in module cwpedia_operations are called and used by using dot operator (.)
    • Even if the module contains user-defined classes or any global declarations, we have to use them by using module_name and dot operator. Above code will show following output.
    • Output:
      • Addition Of 5 and 2 is 7
      • Subtraction Of 5 and 2 is 3
      • Division Of 5 and 2 is 2.5
      • Multiplication Of 5 and 2 is 10
      • 5 raised to 2 is 25

    Import with Renaming

    • Note that in above testing_module.py line-1 imports the module cwpedia_operations and used its functions. But if the name of a module is too large, then we can also import an entire module under an alternate name. To do this, syntax is:
      • import module name as alt_name
    • Use the keyword 'as' to rename it. Here is an alternate of above testing module.py with renamed module
    • import cwpedia_operations as a
      n1=5
      n2=2
      print("Addition Of ",n1,"and",n2,"is",a.cw_Add(n1,n2))
      print("Subtraction Of ",n1,"and",n2,"is",a.cw_Sub(n1,n2))
      print("Division Of ",n1,"and",n2,"is",a.cw_Div(n1,n2))
      print("Multiplication Of ",n1,"and",n2,"is",a.cw_Multiply(n1,n2))
      print(n1,"raised to",n2,"is",a.cw_Power(n1,n2))
    • Too much easy and short name 'a' is used for module cwpedia_operations . Also note the function calling statements from line-4 to line-8. They are also using new name 'a' to call module's functions. We can use any name to rename a module, but prefer to make it short and easy, as we did in above example.

    The from...import Statement OR Importing Objects from Modules OR Importing Individual Object

    • It is also possible to import specific attribute/member from a module without importing the module as a whole. The from….import has the following syntax:
      • from module_name import name-1, name-2……..name-n
    • For example, if we want to import only multiplication function from module cwpedia_operations , then it can be done and used as follows:
      • from cwpedia_operations import cw_Multiply
        print("Multiplication of 5 and 6 is:"cw_Multiply(8,7))
    • Note that, in line-1 only cw_Multiply () is imported from module cwpedia_operations . And line-2 shows the calling and use of imported cw_Multiply () function. The difference between this type of import statement and previous import statements can be seen in line-2, the way how cw_Multiply () were called. Also read and understand following statement.
    • from cwpedia_operations import cw_Multiply,cw_Power 
    • As a conclusion, Python's from…...import statement lets us import specific attribute(s) from a module into the current namespace, and makes its part/member of current namespace.

    Import everything using *

    • You can import all the members/attributes of the module into the namespace your working, using the following import statement:
      • from module_name import *
    • The Statement provides us an easiest way to import all of the members/functions in a module into the namespace you are working: however, this statement should be used carefully to avoid any cause. To import all module functions / members cwpedia_operations ,we have following example.
    • cwpedia_operations import *
      n1=5
      n2=2
      print("Addition Of ",n1,"and",n2,"is",cw_Add(n1,n2))
      print("Subtraction Of ",n1,"and",n2,"is",cw_Sub(n1,n2))
      print("Division Of ",n1,"and",n2,"is",cw_Div(n1,n2))
      print("Multiplication Of ",n1,"and",n2,"is",cw_Multiply(n1,n2))
      print(n1,"raised to",n2,"is",cw_Power(n1,n2))
    • This will show following output:
      • Addition Of 5 and 2 is 7
      • Subtraction Of 5 and 2 is 3
      • Division Of 5 and 2 is 2.5
      • Multiplication Of 5 and 2 is 10
      • 5 raised to 2 is 25

    Post a Comment

    Previous Post Next Post