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