Python Course
Duration of the course: 5 days
Pre-requisites
Knowledge of one programming language is appreciated. However knowledge of general
programming concepts would be enough to start
Lab Set-up
All systems should have preferably python3 installed and should have internet connection.
https://www.python.org/downloads/
This is where from we can get the latest versions of python
Preferably install version 3.x
Python 2.x is legacy, Python 3.x is the present and future of the language
Please go through the below link to get to know more on why you should install version 3
https://wiki.python.org/moin/Python2orPython3
Objectives
At the end of the course the participants should be able to develop small to medium sized
applications in Python using both built-in modules and third party modules. The participants
will also be able to understand and debug existing applications
Outline of the course
Day 1
Introduction to Python
The dynamic typing nature of Python
Basic Data Structures
Lists
Dictionaries
Strings
Tuples
Functions in Python
Overloading and keyword arguments
Overview of modules in python
Built-in modules and third party modules
Building applications using built-in modules
Downloading and Installing third party modules
Building Applications using third party modules
Case Study 1
Day 2
Object Oriented Coding
Classes and Objects
The special method – init,
Data hiding in Python
Functional Programming tools in Python
Using map and filter
Creating lambda expressions
Working with list comprehensions
Using module String and Regular Expressions
Crafting a regular expression
Matching and Searching for a pattern
Substituting a pattern
Compiling a regular expressions
Compiling a regular expressions
Understanding modules in python
The import statement and how it works
The attributes of a module
Documenting a module
Creating an importable module
Working with xml
Building an xml using the xml.dom.minidom module
Parsing the xml using the xml.sax module
Building network applications using socket module
Creating a socket server
Creating a socket client
Case study 2
Day 3
The problem of starvation in network applications
Making the server multi-threaded
Using the threading module
The run and the start method
Parsing the command line arguments
Using the argparse module or framework
Adding the options
Accessing the arguments
The subprocess module
Connecting the processes using pipes
Case study 3
Day 4
The os module
The os.path module
Walking the directory tree
Files and directories
More on object oriented programming
Static and Class methods
Inheritance and polymorphism
Operator overriding
Working with exceptions
Raising an exception
Understanding the except, else and finally block
Creating your own exceptions
Iterators and generators
Case study 4
Day 5
Web application development
Introduction to web
Understanding web development frameworks
Installing and testing Flask
Writing and testing our first web application
Understanding models and templates
Using a templating engine
Implementing REST web services
What is REST and why its important?
Implementing the get, post, put and delete verbs
installing the requests module
Consuming the REST services
Working with databases
Connecting to a database
Creating a table
Populating a table
Retrieving the records
Understanding ORMs
Understanding debugging in Python
Testing in Python
The unittest module in Python
Writing test cases
Using the setup and teardown method