Duration: 5 Days

Description

This course prepares experienced Python developers to write high-quality, maintainable, and production-grade code. It dives deep into object-oriented programming, design patterns, advanced function usage, and metaprogramming. Learners will also explore GUI and network programming concepts, interact with databases and file systems, and follow industry conventions like PEP 8 and PEP 257. The training emphasizes best practices, robustness, and real-world readiness for enterprise-level development.

Audience

This course is intended for developers who already have a solid foundation in Python and want to elevate their skills for professional software engineering, systems development, or full-stack roles. It’s ideal for Python practitioners preparing for advanced certifications or working in roles requiring API development, GUI applications, or backend services.

Objectives

  • Implement complex OOP concepts including inheritance, polymorphism, and encapsulation
  • Leverage decorators, static/class methods, and abstract base classes
  • Work with advanced exception handling, object copying, and serialization
  • Apply metaprogramming techniques for dynamic behavior
  • Follow Python conventions (PEP 8, PEP 257) for clean, maintainable code
  • Create basic GUI applications using widgets and event-driven programming
  • Build networked applications using sockets and RESTful clients
  • Read, write, and manipulate various file formats and interact with databases

Prerequisites

Participants should have strong Python fundamentals including experience with functions, loops, classes, modules, and exception handling. Familiarity with dictionaries, lists, and basic file I/O is expected. Prior experience building scripts or small applications in Python is highly recommended.

Course Outline

Module 1: Advanced Object-Oriented Programming

  • Creating and Using Classes, Methods, and Class and Instance Variables
  • Python Object-Oriented Programming Syntax Operations
  • Inheritance, Polymorphism, and Composition
  • Extended Function Argument Syntax and Decorators
  • Static and Class Methods
  • Abstract Classes and Methods
  • Attribute Encapsulation
  • Subclassing Built-In Classes
  • Advanced Exception Handling Techniques
  • Shallow and Deep Copy Operations
  • (De)Serialization of Python Objects
  • Metaprogramming

Module 2: Conventions, Best Practices, and Standardization

  • Python Enhancement Proposals (PEPs)
  • PEP 8
  • PEP 257

Module 3: GUI Programming

  • Basic GUI Programming Concepts and Terminology
  • GUI Toolkits, Basic Blocks, and Conventions
  • Using Widgets and Handling Events

Module 4: Network Programming

  • Basic Network Programming Concepts
  • Sockets
  • Data Transfer Mechanisms
  • Design, Develop, and Improve a REST Client

Module 5: File Processing and Communication with a Program’s Environment

  • Database Programming
  • Processing Different File Formats