Course outline for Advanced Python

Lab Setup

Make sure you have Python 3 installed. All content is covered with Python 3

Duration

2 days

Training Mode

Online training for Advanced Python

We provide:

  • Instructor led live training
  • Self-paced learning with access to expert coaches
  • 24x7 access to cloud labs with end to end working examples

All jnaapti sessions are 100% hands-on. All our instructors are engineers by heart. Activities are derived from real-life problems faced by our expert faculty. Self-paced hands-on sessions are delivered via Virtual Coach.

Classroom training for Advanced Python

Classroom sessions are conducted in client locations in:

  • Bengaluru
  • Chennai
  • Hyderabad
  • Mumbai
  • Delhi/Gurgaon/NCR

Note: Classroom training is for corporate clients only

Detailed Course Outline for Advanced Python

Programming Paradigms

  • Procedural Programming
  • Functional Programming
  • Object Oriented Programming
  • Aspect Oriented Programming

Object Oriented Programming Basics

  • Introduction to OOP
  • Classes and Objects
  • Instance methods and data
  • Initialization of objects
  • Inheritance
  • Multiple and Multilevel Inheritance
  • Method overriding
  • Classes and Types
  • Visibility
  • Examples

More OO

  • New style classes
  • Diamond Inheritance
  • Method Resolution Order
  • Class methods
  • Static methods
  • Duck typing

Functional Programming in Python

  • Functions as objects
  • Creating and returning functions
  • Nested functions
  • Dynamic functions
  • Anonymous(lambda) functions
  • Closures
  • Passing variable number of arguments
  • Generators and yield
  • List Comprehensions
  • Dictionary and Set Comprehensions
  • Collection interconversion patterns

Socket Programming

  • Introduction to networking concepts
  • Creating a socket
  • Using a socket
  • Disconnecting
  • Non-blocking sockets

Working with Databases

  • Types of databases
  • Why SQLite?
  • Connection objects
  • Cursor objects
  • Row objects
  • ORM with SQLite – storing and retrieving Python objects from SQLite

Decorators

  • Aspect Oriented Programming in Python
  • Using decorators
  • Defining decorators
  • Decorator chaining
  • Decorators - best practices

Built-in Functions

  • Math related functions
  • Collections related functions
  • Object related functions
  • Functional programming related functions

Concurrent Programming

  • The need
  • Parallel programming paradigm
  • Lock and RLock objects
  • threading module
  • Thread objects
  • Global Interpreter Lock
  • multiprocessing module
  • Queue objects

Testing

  • Introduction to Unit testing
  • Fixture
  • Test case
  • Test suite
  • Test runner
  • Unit testing in Python – the basic flow
  • Organizing the test code
  • Skipping tests and expected failures
  • unittest, unittest2, nose
    
  • Generating coverage reports

Logging

  • Logger objects
  • Handler objects
  • Formatter objects
  • Filter objects
  • LogRecord objects
  • Debugging
  • Debugging
  • Using the pdb module
  • The debugger commands

Porting to Python 3

  • print is a function
  • Views and Iterators instead of Lists
  • Ordering comparisons
  • Integers
  • Text v/s Data instead of Unicode v/s 8-bit
  • Syntax changes
  • Porting to Python 3
  • 2to3 program

Misc

  • Iterators, Iterables, Itertools
  • Reflection and Introspection
  • Operator Overloading
  • Garbage collection
  • gc module
  • pylint

WSGI

  • Installation of Apache2, libwsgi
  • Configuration of Apache to work with WSGI
  • Working of a simple Python app via WSGI