Advanced Python

Advanced Python

Duration: 4 Days

Description

This four-day advanced Python course explores professional-level Python development, including object-oriented design, file and database interaction, testing, debugging, and performance optimization. Learners will build on core skills to work with REST APIs, design patterns, and environment management for robust software development.

Audience

This course is designed for experienced Python users, software developers, and engineers looking to deepen their knowledge of advanced Python concepts and practices.

Objectives

  • Apply advanced Python features for clean, efficient coding
  • Work with files, databases, and RESTful APIs
  • Design scalable applications using OOP and design patterns
  • Implement testing, logging, and debugging tools
  • Manage environments and packages for modular development

Prerequisites

Participants should have a solid understanding of Python fundamentals, including functions, control flow, and basic object-oriented programming.

Course Outline

Module 1: Files

  • File Handling
  • Sorting File Content
  • Handling Exceptions

Module 2: Relational Databases

  • Structures Query Language
  • Connection and Cursor
  • Executing Commands

Module 3: Object-Oriented Programming

  • Basic Principles
  • Classes and Objects
  • Properties
  • Inheritance
  • Abstract Base Classes (ABCs)

Module 4: Python’s Features

  • Best Practices
  • Monkey Patching
  • Generators
  • The with Statement

Module 5: Python Unit Testing

  • Python’s unittest Framework

Module 6: Logging and Debugging

  • IDE Debugging Tools
  • Pylint
  • Logging

Module 7: Design Patterns

  • Factory Method
  • Adapter Method
  • Proxy Method
  • Strategy Method

Module 8: RESTful Web Services and Clients

  • REST Architecture
  • REST APIs

Module 9: Python Optimization

  • Optimization Modules
  • Data Structures
  • List Comprehension

Module 10: Managing Python Packages and Environments

  • Python Packages
  • Python Versions and Porting
  • Python Virtual Environment
  • Packaging and Distribution Package