Advanced Python Programming

Course Outline Download
Introduction Download
DayModulesSharing
1
  • Python refresher
  • Common idioms
  • Data types
  • Conditionals
  • Loops
  • Sequences
  • Mapping types
  • Useful types from collections
  • Program structure
  • Files and console, I/O
  • Functions, Modules, and packages
  • Lambda functions
  • Variable scope
  • List comprehensions
  • Generator expressions
  • Creating modules
  • Using the import statement
  • Module search path (PYTHONPATH)
  • Documenting modules
  • Built-ins
  • The OS module and Date Time module
2
  • Anology
  • Termination Condition
  • Stack Overflow
  • Case Study #1: Magic 3x3
  • Case Study #2: 8 Queens
  • Introduction
  • First-class Everything
  • A Minimal Class in Python
  • Attributes
  • Methods
  • The __init__ method
  • Data Abstraction
  • Data Encapsulation and Information Hiding
  • __str__ and __repr__ method
  • Public Private and Protected Attributes
  • Destructor
  • Class and Instance Attributes
  • Instance Methods
  • Class Methods
  • Properties - Getters and Setters
  • Introduction
  • Syntax Inheritance
  • Generalization
  • Constructor Chaining
  • Multiple Inheritance
  • Diamond Problem
  • Specialization
  • Polymorphism
3
  • Introduction
  • Method of Operation
  • Using a 'return' in a Generator
  • Send Method / Coroutines
  • The throw Method
  • Decorating Generators
  • Yield from
  • Recursive Generators
  • A Generator of Generators
  • Introduction
  • Functions inside Functions
  • Functions as Parameters
  • Functions returning Functions
  • A Simple Decorator
  • Syntax for Decorator
  • Use cases for Decorator
  • Decorators with Parameters
  • Classes instead of Functions
  • Implicit properties
  • Global and Local variables
  • Closures
  • Working with object attributes
  • The inspect module
  • Callable classes
  • Decorators
  • Monkey patching
  • Regular Expressions
  • RE Objects and Pattern matching
  • Parsing data
  • Subexpressions
  • Complex substitutions
  • RE tips and tricks
  • Analysing programs with Pylint
  • Using the debugger
  • Profiling code
  • Testing speed with benchmarking
  • Unit test
  • Creating a Test cases
  • Writing tests
  • Running tests
Iterators
Iterator Reference
1 Exercise #1
2 Exercise #2
3 Exercise #3

Generators
Generator Reference
1 Exercise #1
2 Exercise #2
3 Exercise #3
4 Exercise #4
5 Exercise #5
6 Exercise #6
7 Exercise #7

Decorators
Decorator Reference
1 Exercise #1
2 Exercise #2
3 Exercise #3
4 Exercise #4
5 Exercise #5
6 Exercise #6

Closures
Closures Reference
1 Exercise #1
2 Exercise #2
3 Exercise #3
4 Exercise #4

Regular Expression(RE)
Python RE Official Reference
1 Exercise #1
2 Exercise #2
3 Exercise #3
4 Exercise #4
5 Exercise #5
6 Exercise #6
7 Exercise #7
8 Exercise #8
9 Exercise #9

Pylint
1 Exercise #1
2 Exercise #2

Benchmarking
Benchmarking Reference
1 Exercise #1
2 Exercise #2

Profiling
Profiling Reference
1 Exercise #1

Unit Test
Unit Test
1 Exercise #1
2 Exercise #2
3 Exercise #3
4
  • Working with XML
  • XML modules in Python
  • Getting started with Element Tree
  • Parsing XML
  • Updating an XML tree
  • Creating a new document
  • About JSON
  • Reading/Writing JSON
  • Reading/Writing CSV files
  • Reading/Writing Excel data
  • The DB API
  • Available Interfaces
  • Connecting to a server
  • Creating and executing a cursor
  • Fetching data
  • Parameterized statements
  • Using Metadata
  • Transaction control
  • ORMs and NoSQL overview
Day4.zip
CSV
CSV Reference
1 Exercise #1
2 Exercise #2
3 Exercise #3
4 Exercise #4
5 Exercise #5
6 Exercise #6
7 Exercise #7

JSON
JSON Reference
1 Exercise #1
2 Exercise #2
3 Exercise #3
4 Exercise #4

XML

Basic XML Refrence
1 movies.XML
2 SAX-Based XML Access
3 DOM-Based XML Access

Excel
1Exercise #1"
2Exercise #2"
3Exercise #3"

Database Access
SQL Reference
1Exercise #1
2Exercise #2
3Exercise #3
4Exercise #4
5Exercise #5
6Exercise #6
7Exercise #7
8Exercise #8
9Exercise #9

5
  • The threading module
  • Sharing variables
  • The queue module
  • The multiprocessing module
  • Creating pools
  • About async programming
  • Running external programs
  • Parsing arguments
  • Creating filters to read text files
  • Logging
  • Built-in classes
  • Using requests
  • Grabbing web pages using BeautifulSoup
  • Sending email
  • Working with binary data
  • Consuming RESTful services
  • Remote access(SSH)
  • Introduction
  • Downloading and Installing PyQt and Qt Designer
  • Qt Architecture
  • Preparing the Development Environment
  • Navigating Qt Designer
  • Creating a UI in Qt Designer
  • Using designer
  • Standard widgets
  • Event handling
  • Writing the Application Logic in PyCharm
  • Running the Application
  • Expanding the Application
  • Adding Widgets, Charts, etc.
  • Developing GUI application accessing a Database
  • Creating a Project
  • Apps Life Cycle
  • Admin Interface
  • Creating Views
  • URL Mapping
  • Template System
  • Models
  • Page Redirection
  • Sending E-mails
  • Generic Views
  • Form Processing
  • File Uploading
  • Apache Setup
  • Cookies Handling
  • Sessions
  • Caching
  • Comments
  • Django – RSS
Day5.zip Day5.xlsx
Network Programming
1Exercise #1
2Exercise #2
3Exercise #3
4Exercise #4
5Exercise #5

MultiProgramming
1Exercise #1
2Exercise #2
3Exercise #3
4Exercise #4
5Exercise #5

PyQT5
PyQT5 Tutorial Images for Exercises Download Qt Designer
1Exercise #1
2Exercise #2
3Exercise #3
4Exercise #4
5Exercise #5
6Exercise #6
7Exercise #7
8Exercise #8
9 PyQT5 MySQL Example

Django
1 What is Django?
2 Setting up a Django development environment
3 Tutorial Part-1 - The Local Library website
4 Tutorial Part-2 - Creating a skeleton website
5 Tutorial Part-3 - Using models
6 Tutorial Part-4 - Django admin site
7 Tutorial Part-5 - Creating our home page
8 Tutorial Part-6 - Generic list and detail views.docx
9 Tutorial Part-7 - Sessions framework
10 Tutorial Part-8 - User authentication and permissions
11 Tutorial Part-9 - Working with forms
12 Tutorial Part-10 - Testing a Django web application
13 Tutorial Part-11 - Deploying Django to production

GitHub
GitHub Python Reference Introduction to Git and GitHub for Python Developers

Recommanded Books
TitleSerious Python: Black-Belt Advice on Deployment, Scalability, Testing, and More
ISBN978-1-593-27878-6
AuthorJulien Danjou
Year2019
Publisher No Starch Press
TitlePython Object-Oriented Programming: Build robust and maintainable object-oriented Python applications and libraries
ISBN978-1-801-07726-2
AuthorSteven F. Lott, Dusty Phillips
Year2021
Publisher Packt Publishing
TitlePython re: a magical tool for text processing
ISBN
AuthorSundeep Agarwal
Year2019
Publisher Sundeep Agarwal
TitleNumpy Programming, For Beginners, Quick Start Guide: Numpy Language Crash Course Tutorial & Exercises
ISBNB09446DZQH
AuthorYao, Ray
Year2021
Publisher In Easy Step By Step, Teach Yourself eBook & Book
TitlePython Data Analytics: Mastering Python for Effective Data Analysis and Visualization
ISBNB0CW28VQJ4
AuthorFloyd Bax
Year2024
Publisher FLOYD BAX; 1st edition
TitlePandas for Everyone: Python Data Analysis
ISBN978-0-137-89115-3
AuthorDaniel Chen
Year2023
Publisher Addison-Wesley Professional
TitleData Analysis with Python: Introducing NumPy, Pandas, Matplotlib, and Essential Elements of Python Programming
ISBN978-9-355-51065-5
AuthorRituraj Dixit
Year2023
Publisher BPB Publications
TitlePython for Data Analysis: Data Wrangling with pandas, NumPy, and Jupyter
ISBN978-1-098-10403-0
AuthorWes McKinney
Year2022
Publisher O'Reilly Media
TitlePandas 1.x Cookbook: Practical recipes for scientific computing, time series analysis, and exploratory data analysis using Python
ISBN978-1-839-21310-6
AuthorMatt Harrison, Theodore Petrou
Year2020
Publisher Packt Publishing
TitleNumerical Python: Scientific Computing and Data Science Applications with Numpy, SciPy and Matplotlib
ISBN978-1-484-24245-2
AuthorRobert Johansson
Year2019
Publisher Apress
TitlePython Data Analytics: With Pandas, NumPy, and Matplotlib
ISBN978-1-484-23912-4
AuthorFabio Nelli
Year2018
Publisher Apress
TitleDjango for Beginners: Build websites with Python & Django
ISBN
AuthorWilliam S. Vincent
Year2022
Publisher Leanpub
TitleWeb Development with Django: Learn to build modern web applications with a Python-based framework
ISBN978-1-839-21250-5
AuthorBen Shaw, Saurabh Badhwar, Andrew Bird, Bharath Chandra K S, Chris Guest
Year2021
Publisher Packt Publishing
TitleDjango Made Easy: Build and deploy reliable Django applications
ISBNB08RXZ6JPP
AuthorVought, Peter
Year2021
Publisher
TitleDjango 3: For Beginners
ISBN979-8-571-46247-1
AuthorAndrey Bulezyuk
Year2021
Publisher
TitleBuilding Websites with Django: Build and deploy professional websites with Python programming and the Django framework
ISBN978-9-389-32828-8
AuthorAwanish Ranjan
Year2021
Publisher BPB Publications
TitleBeginning PyQt: A Hands-on Approach to GUI Programming with PyQt6
ISBN978-1-484-27998-4
AuthorJoshua M Willman
Year2022
Publisher Apress
TitleMastering GUI Programming with Python: Develop impressive cross-platform GUI applications with PyQt
ISBN978-1-789-61290-5
AuthorAlan D. Moore
Year2019
Publisher Packt Publishing
TitleQuerying MySQL
ISBN978-9-355-51267-3
AuthorAspin, Adam
Year2022
Publisher BPB Publications
TitlePython Parallel Programming Cookbook: Over 70 recipes to solve challenges in multithreading and distributed system with Python 3
ISBN978-1-789-53373-6
AuthorGiancarlo Zaccone
Year2019
Publisher Packt Publishing
TitleNetwork Programming in Python: The Basic: A Detailed Guide to Python 3 Network Programming and Management
ISBN978-9-355-51257-4
AuthorJohn Galbraith
Year2022
Publisher BPB Publications