Shopping Cart :Check Out

Programming in Python Advanced (3 days-8 hours a day)


Participants should be comfortable with the following technologies: Basic and working knowledge of the Pyton If new to the Python, then the participants would have the taken the course Python Fundamentals before this. Basic computing concepts,Knowledge of Windows or Linux

Training mode:

* The Training program will be demonstration oriented.
* Most of the concepts will be taught by demonstrating Code and the participants can practice the same.

Lab requirements:

* As the training is highly lab oriented, each participant Attending the training program must be provided with a Computer with the following software installed:
-Windows or Linux with ActivePython 2.7+ installed
-A good programmer's editor (Notepad++ or PSPad on Windows, vim/emacs on Linux) installed.

Course Contents

Day 1
Python Basics a Recap Working with Strings Lists, Tuples and Sets
Introduction to python programming An overview of strings in python Common sequence operations
An overview of scripting and the pragmatic development Approach. String operators Manipulation of Lists
An overview on python interpreter Working with dictionaries Manipulation of Tuples
An overview on Python development tools Introduction to dictionaries Manipulation of Sets
Numbers and expressions Creating, assigning, updating dictionaries Functions
Variables and statements Dictionary operators, functions and built-in methods Creating user-defined functions
Conditional statements and loop Hands On Passing functions
Handling user input Learn and understand the tools provided with ActivePython Formal arguments
An overview of built-in functions and modules Practice basic programming concepts using python. Variable-length arguments
Python syntax, style and coding conventions Small exercises on understanding conditional constructs and loops. Advanced Python constructs
Basic introspection using type() and dir() function Practice various string operators, functions and built-in methods List comprehension
Types, Classes and dynamic typing Practice exercises on Lists and Tuples List manipulation using map, filter and reduce functions
Basic introspection using type() and dir() function Practice various string operators, functions and built-in methods List comprehension
Practice exercises on Lists and Tuples List manipulation using map, filter and reduce functions
Practice exercises on dictionaries, functions and modules Tuplesets, zip function and parallel iteration
Generators, Iterators and Iterable objects
Range and XRange objects,Itertools and Collections framework
Modular development Standard Python modules Hands Onspan>
Creating modules Using the sys module Parsing command line arguments using sys.argv
Variable scope sys.argv, sys.path, sys.version Command-line switches parsing using optparse module
Understanding namespaces An overview on __builtin__ and __future__ modules Listing directory contents using os.listdir
Importing modules and module attributes Using the os module File test operations using os.path module
Module hierarchy Filesystem/directory functions Finding files using os.walk
Mutable vs Immutable Objects Basic process management functions File operations using shutil module
Multi Target Assignments Recursive directory iteration using os.walk
Classes and Objects Errors and exception handling Regular expressions
Introduction to OOP using python Introduction to exceptions Introduction to regexps
Classes and class attributes Detecting and handling exceptions Special symbols and characters for RE
Instances and instance attributes Exceptions as Strings and Classes Metacharacters and Metasymbols
Binding and method invocation Raising exceptions Character classes
Composition, Subclassing and Derivation Creating exceptions Quantifiers and Positions
Inheritance Searching/Matching a string/pattern
Built-in functions for classes, instances and other objects Search and replace operations
Privacy and Delegation Splitting and joining strings
An overview of built-in python classes and modules Practical examples
File and Directory handling Hands On Day 3
File I/O operations Basic design patterns Multithreaded programming
Built-in file and directory handling libraries - Singleton, Factory, Delegator, Observer Introduction to threads and processes
* file input Practice error handling and exceptions Creating and managing threads
* stat Regular Expression examples An overview of thread and threading modules
* filecmp and dircmp File and directory handling examples
* glob, zipfile and tarfile Practice basic file operations and text processing Concurrency management using Lock and RLock
* pickle and shelve modules Compressing and Uncompressing files Producer Consumer algorithm using Queue,Implementing thread pool
Network programming Network automation modules Hands On
Introduction to Sockets FTP automation using ftplib Creating a simple multi-threading fileserver that can serve files to client using a thread-pool.
An overview of the socket module Telnet automation using telnetlib A simple web crawler program that can crawl a website and report broken links on the same by email.
Creating TCP servers and clients Automating HTTP using urllib, urllib2 and httplib Simple examples on using ftplib and telnetlib
Creating UDP servers and clients Mail handling using smtplib and poplib
Creating multi-threaded network server using thread pooling
Process management and process automation Logging Testing, Debugging and Deployment
Using os.system, os.popen, os.fork, os.exec functions Python Logging module Using the unittest module for writing testcases
Using the commands module Logging Level Using doctest
Using the subprocess module Steam Logging Documentation generation using pydoc
Managing processes using various functions in os module File Handling Logging Using pdb debugger framework
Automating processes by capturing stdout, stdin and stderr of the child process Log RollOver Tracing python statement execution using trace framework
Logging using syslog module Hands On Timing measurement using timeit module
Using os.system, os.popen, os.fork, os.exec functions Automate simple interactive programs like the UNIX bc command Building and installing python modules using distutils and pypi
Using the commands module Practice exercises on unittest, doctest, timeit and trace modules
Creating custom module packages using distutils/pypi

Training Programs