Each Module Duration 1 Hr

  • 1 Introduction to python programming
  • 2 An overview of scripting and the pragmatic development approach.
  • 3 An overview on python interpreter
  • 4 An overview on Python development tools
  • 5 bpython, vim-python and IDLE
  • 6 Python implementations (features and differences):
  • 7 Cpython, Jython, IronPython, PyPy, Stackless Python
  • 8 Python 2 vs. Python 3 (feature differences)

  • 1 Numbers and expressions
  • 2 Variables and statements
  • 3 Conditional statements and loop
  • 4 Handling user input
  • 5 An overview of built-in functions and modules
  • 6 Python syntax, style and coding conventions
  • 7 Basic introspection using type () and dir () function
  • 8 Types, Classes and dynamic typing, Duck typing

  • 1 Common sequence operations
  • 2 Manipulation of Lists
  • 3 Manipulation of Tuples
  • 4 Manipulation of Sets

  • 1 Introduction to dictionaries
  • 2 Creating, assigning, updating dictionaries
  • 3 Dictionary operators, functions and built-in methods

  • 1 Creating user-defined functions
  • 2 Passing functions
  • 3 Formal arguments
  • 4 Variable-length arguments
  • 5 A walk-through on various built-in functions

  • 1 Using the built-in str, Unicode, byte array and buffer types
  • 2 Binary data representation using array and struct module
  • 3 Using string, difflib and text wrap module

  • 1 An overview of strings in python
  • 2 String operators
  • 3 Built-in string manipulation functions
  • 4 Built-in string methods
  • 5 Special string features in python
  • 6 Built-in modules for string handling
  • 7 Unicode strings and byte array

  • 1 Map / Reduce / Filter algorithms
  • 2 Itertools and Functools

  • 1 Introduction to re module
  • 2 Compiling regular expressions to Pattern objects
  • 3 Patterns, Matches and Groups
  • 4 Understanding Regular Expression syntax
  • 5 Regex patterns notations
  • 6 Metacharacters, Metasymbols and escape sequences
  • 7 Character classes and wild-cards
  • 8 Quantifiers
  • 9 Grouping and alternation
  • 10 Optimizing regular expressions and performance considerations
  • 11 Tips and techniques - example use cases for regular expressions
  • 12 Pattern modifiers
  • 13 Pattern substitution

  • 1 Decorator patterns and built-in decorators

  • 1 An overview on open () function, 'file' type methods and using 'with' clause
  • 2 Using line cache for random access to text files

  • 1 File I/O operations
  • 2 Built-in file and directory handling libraries

  • 1 Introduction to OOP using python
  • 2 Classes and class attributes
  • 3 Instances and instance attributes
  • 4 Binding and method invocation
  • 5 Composition, Sub classing and Derivation
  • 6 Inheritance
  • 7 Built-in functions for classes, instances and other objects
  • 8 An overview of built-in python classes and modules

  • 1 Python OO architectural overview
  • 2 Python OO paradigms and meta programming concepts
  • 3 An overview on Python special methods:
  • 4 __new__(), __init__(), __del__(),
  • 5 __str__(), __repr__(), __len__(), __nonzero__()
  • 6 __cmp__(), __eq__(), __ne__() and family
  • 7 Operator overloading
  • 8 Dictionary and List emulation
  • 9 Accessor methods - __getattr__(), __setattr__(),
  • 10 __delattr__()
  • 11 Callable methods - __call__()
  • 12 Iterator methods - __iter__()

  • 1 Creating generators and iterators using co-routines
  • 2 Implementing decorators
  • 3 List comprehension, Set comprehension

  • 1 Introduction to exceptions
  • 2 Detecting and handling exceptions
  • 3 Exceptions as Strings and Classes
  • 4 Raising exceptions
  • 5 Creating exceptions
  • 6 Standard exceptions

  • 1 Using the sys module
  • 2 sys.argv, sys.path, sys.version
  • 3 An overview on __builtin__ and __future__ modules
  • 4 String related modules
  • 5 String
  • 6 re
  • 7 Using the os module
  • 8 Filesystem/directory functions
  • 9 Basic process management functions
  • 10 Recursive directory iteration using os. Walk
  • 11 Using the os. Path module
  • 12 Determining base name, dir name, path manipulation
  • 13 File type/size/timestamp and other stat determination
  • 14 Using the time and date time modules

  • 1 Creating modules
  • 2 Variable scope
  • 3 Understanding namespaces
  • 4 Importing modules and module attributes

  • 1 Multi-tasking using threading. Thread
  • 2 Multi-tasking using multiprocessing. Process
  • 3 Parallel processing using multiprocessing. Pool

  • 1 Using unittest
  • 2 Using profiler in python
  • 3 Using pdb

  • 1 Using the subprocess module
  • 2 Using pexpect module

  • 1 Practice exercises on dictionaries, functions and modules
  • 2 Practice exercises on file operations
  • 3 Practice exercises on logging, os related features