Teachnique
      CourseRoadmaps
      Login

      OverviewCommentsUser InputNumbersBooleansHistoryHello World ProgramEnvironment SetupSyntaxVariablesData TypesType CastingUnicode SystemLiteralsOperators

      Control FlowBreak StatementContinue StatementPass StatementNested LoopsDecision MakingIf StatementIf-else StatementNested IF StatementMatch-Case StatementLoopsFor LoopsFor-else LoopsWhile Loops

      FunctionsBuilt-in FunctionsDefault ArgumentsKeyword ArgumentsKeyword-Only ArgumentsPositional ArgumentsPositional-Only ArgumentsArbitrary ArgumentsVariable ScopeFunction AnnotationsModules

      StringSlicing StringsModify StringsString ConcatenationString FormattingEscape CharactersString MethodsString Exercises

      ListsList ExercisesAccess List ItemsChange List ItemsAdd List ItemsRemove List ItemsLoop ListsList ComprehensionSort ListsCopy ListsJoin ListsList Methods

      TuplesAccess Tuple ItemsUpdate TuplesUnpack Tuple ItemsLoop TuplesJoin TuplesTuple MethodsTuple Exercises

      SetsAccess Set ItemsAdd Set ItemsRemove Set ItemsLoop SetsJoin SetsCopy SetsSet OperatorsSet MethodsSet Exercises

      DictionariesDictionary ExercisesAccess Dictionary ItemsChange Dictionary ItemsAdd Dictionary ItemsRemove Dictionary ItemsDictionary View ObjectsLoop DictionariesCopy DictionariesNested DictionariesDictionary Methods

      ArraysAccess Array ItemsAdd Array ItemsRemove Array ItemsLoop ArraysCopy ArraysReverse ArraysSort ArraysJoin ArraysArray MethodsArray Exercises

      File HandlingWrite to FileRead FilesRenaming and Deleting FilesDirectoriesFile Methods

      OOP ConceptsDynamic BindingDynamic TypingAbstractionObject and ClassesEncapsulationInterfacesPackagesInner ClassesAnonymous Class and ObjectsSingleton ClassWrapper ClassesEnumsReflectionClass AttributesClass MethodsStatic MethodsConstructorsAccess ModifiersInheritancePolymorphismMethod OverridingMethod Overloading

      Feedback

      Submit request if you have any questions.

      Course
      Modules

      Python Tutorial

      This Python tutorial has been written for the beginners to help them understand the basic to advanced concepts of Python Programming Language. After completing this tutorial, you will find yourself at a great level of expertise in Python, from where you can take yourself to the next levels to become a world class Software Engineer.

      Modules

      A function is a block of organized, reusable code that is used to perform a single, related action. Functions provide better modularity for your application and a high degree of code reusing.
      The concept of module in Python further enhances the modularity. You can define more than one related functions together and load required functions. A module is a file containing definition of functions, classes, variables, constants or any other Python object. Contents of this file can be made available to any other program. Python has the import keyword for this purpose.

      Example

      import math
      print ("Square root of 100:", math.sqrt(100))
      It will produce the following output
      Square root of 100: 10.0

      Built in Modules

      Python's standard library comes bundled with a large number of modules. They are called built-in modules. Most of these built-in modules are written in C (as the reference implementation of Python is in C), and pre-compiled into the library. These modules pack useful functionality like system-specific OS management, disk IO, networking, etc.
      Here is a select list of built-in modules −
      Sr.No.
      Name & Brief Description
      1
      os
      This module provides a unified interface to a number of operating system functions.
      2
      string
      This module contains a number of functions for string processing
      3
      re
      This module provides a set of powerful regular expression facilities. Regular expression (RegEx), allows powerful string search and matching for a pattern in a string
      4
      math
      This module implements a number of mathematical operations for floating point numbers. These functions are generally thin wrappers around the platform C library functions.
      5
      cmath
      This module contains a number of mathematical operations for complex numbers.
      6
      datetime
      This module provides functions to deal with dates and the time within a day. It wraps the C runtime library.
      7
      gc
      This module provides an interface to the built-in garbage collector.
      8
      asyncio
      This module defines functionality required for asynchronous processing
      9
      Collections
      This module provides advanced Container datatypes.
      10
      Functools
      This module has Higher-order functions and operations on callable objects. Useful in functional programming
      11
      operator
      Functions corresponding to the standard operators.
      12
      pickle
      Convert Python objects to streams of bytes and back.
      13
      socket
      Low-level networking interface.
      14
      sqlite3
      A DB-API 2.0 implementation using SQLite 3.x.
      15
      statistics
      Mathematical statistics functions
      16
      typing
      Support for type hints
      17
      venv
      Creation of virtual environments.
      18
      json
      Encode and decode the JSON format.
      19
      wsgiref
      WSGI Utilities and Reference Implementation.
      20
      unittest
      Unit testing framework for Python.
      21
      random
      Generate pseudo-random numbers

      User Defined Modules

      Any text file with .py extension and containing Python code is basically a module. It can contain definitions of one or more functions, variables, constants as well as classes. Any Python object from a module can be made available to interpreter session or another Python script by import statement. A module can also include runnable code.

      Create a Module

      Creating a module is nothing but saving a Python code with the help of any editor. Let us save the following code as mymodule.py
      def SayHello(name):
      print ("Hi {}! How are you?".format(name))
      return
      You can now import mymodule in the current Python terminal.
      >>> import mymodule
      >>> mymodule.SayHello("Harish")
      Hi Harish! How are you?
      You can also import one module in another Python script. Save the following code as example.py
      import mymodule
      mymodule.SayHello("Harish")
      Run this script from command terminal
      C:\Users\user\examples> python example.py
      Hi Harish! How are you?

      The import Statement

      In Python, the import keyword has been provided to load a Python object from one module. The object may be a function, class, a variable etc. If a module contains multiple definitions, all of them will be loaded in the namespace.
      Let us save the following code having three functions as mymodule.py.
      def sum(x,y):
      return x+y
      
      def average(x,y):
      return (x+y)/2
      
      def power(x,y):
      return x**y
      The import mymodule statement loads all the functions in this module in the current namespace. Each function in the imported module is an attribute of this module object.
      >>> dir(mymodule)
      ['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'average', 'power', 'sum']
      To call any function, use the module object's reference. For example, mymodule.sum().
      import mymodule
      print ("sum:",mymodule.sum(10,20))
      print ("average:",mymodule.average(10,20))
      print ("power:",mymodule.power(10, 2))
      It will produce the following output
      sum:30
      average:15.0
      power:100

      Practice with Online Editor

      Note: This Python online Editor is a Python interpreter written in Rust, RustPython may not fully support all Python standard libraries and third-party libraries yet.
      Remember to save code(Ctrl + S Or Command + S) before run it.
      

      The from ... import Statement

      The import statement will load all the resources of the module in the current namespace. It is possible to import specific objects from a module by using this syntax. For example −
      Out of three functions in mymodule, only two are imported in following executable script example.py
      from mymodule import sum, average
      print ("sum:",sum(10,20))
      print ("average:",average(10,20))
      It will produce the following output
      sum: 30
      average: 15.0
      Note that function need not be called by prefixing name of its module to it.

      The from...import * Statement

      It is also possible to import all the names from a module into the current namespace by using the following import statement
      from modname import *
      This provides an easy way to import all the items from a module into the current namespace; however, this statement should be used sparingly.

      The import ... as Statement

      You can assign an alias name to the imported module.
      from modulename as alias
      The alias should be prefixed to the function while calling.
      Take a look at the following example
      import mymodule as x
      print ("sum:",x.sum(10,20))
      print ("average:", x.average(10,20))
      print ("power:", x.power(10, 2))

      Module Attributes

      In Python, a module is an object of module class, and hence it is characterized by attributes.
      Following are the module attributes −
      • __file__ returns the physical name of the module.
      • __package__ returns the package to which the module belongs.
      • __doc__ returns the docstring at the top of the module if any
      • __dict__ returns the entire scope of the module
      • __name__ returns the name of the module

      Example

      Assuming that the following code is saved as mymodule.py
      "The docstring of mymodule"
      def sum(x,y):
      return x+y
      
      def average(x,y):
      return (x+y)/2
      def power(x,y):
      return x**y
      Let us check the attributes of mymodule by importing it in the following script
      import mymodule
      
      print ("__file__ attribute:", mymodule.__file__)
      print ("__doc__ attribute:", mymodule.__doc__)
      print ("__name__ attribute:", mymodule.__name__)
      It will produce the following output 
      __file__ attribute: C:\Users\mlath\examples\mymodule.py
      __doc__ attribute: The docstring of mymodule
      __name__ attribute: mymodule

      Practice with Online Editor

      Note: This Python online Editor is a Python interpreter written in Rust, RustPython may not fully support all Python standard libraries and third-party libraries yet.
      Remember to save code(Ctrl + S Or Command + S) before run it.
      

      The __name__Attribute

      The __name__ attribute of a Python module has great significance. Let us explore it in more detail.
      In an interactive shell, __name__ attribute returns '__main__'
      >>> __name__
      '__main__'
      If you import any module in the interpreter session, it returns the name of the module as the __name__ attribute of that module.
      >>> import math
      >>> math.__name__
      'math'
      From inside a Python script, the __name__ attribute returns '__main__'
      #example.py
      print ("__name__ attribute within a script:", __name__)
      Run this in the command terminal
      __name__ attribute within a script: __main__
      This attribute allows a Python script to be used as executable or as a module. Unlike in C++, Java, C# etc., in Python, there is no concept of the main() function. The Python program script with .py extension can contain function definitions as well as executable statements.
      Save mymodule.py and with the following code
      "The docstring of mymodule"
      def sum(x,y):
      return x+y
      print ("sum:",sum(10,20))
      You can see that sum() function is called within the same script in which it is defined.
      C:\Users\user\examples> python mymodule.py
      sum: 30
      Now let us import this function in another script example.py.
      import mymodule
      print ("sum:",mymodule.sum(10,20))
      It will produce the following output
      C:\Users\user\examples> python example.py
      sum: 30
      sum: 30
      The output "sum:30" appears twice. Once when mymodule module is imported. The executable statements in imported module are also run. Second output is from the calling script, i.e., example.py program.
      What we want to happen is that when a module is imported, only the function should be imported, its executable statements should not run. This can be done by checking the value of __name__. If it is __main__, means it is being run and not imported. Include the executable statements like function calls conditionally.
      Add if statement in mymodule.py as shown
      "The docstring of mymodule"
      def sum(x,y):
      return x+y
      
      if __name__ == "__main__":
      print ("sum:",sum(10,20))
      
      Now if you run example.py program, you will find that the sum:30 output appears only once.
      C:\Users\user\examples> python example.py
      sum: 30

      The reload() Function

      Sometimes you may need to reload a module, especially when working with the interactive interpreter session of Python.
      Assume that we have a test module (test.py) with the following function
      def SayHello(name):
      print ("Hi {}! How are you?".format(name))
      return
      We can import the module and call its function from Python prompt as
      >>> import test
      >>> test.SayHello("Deepak")
      Hi Deepak! How are you?
      However, suppose you need to modify the SayHello() function, such as
      def SayHello(name, course):
      print ("Hi {}! How are you?".format(name))
      print ("Welcome to {} Tutorial by TutorialsPoint".format(course))
      return
      Even if you edit the test.py file and save it, the function loaded in the memory won't update. You need to reload it, using reload() function in imp module.
      >>> import imp
      >>> imp.reload(test)
      >>> test.SayHello("Deepak", "Python")
      Hi Deepak! How are you?
      Welcome to Python Tutorial by TutorialsPoint

      Practice with Online Editor

      Note: This Python online Editor is a Python interpreter written in Rust, RustPython may not fully support all Python standard libraries and third-party libraries yet.
      Remember to save code(Ctrl + S Or Command + S) before run it.