Skip to content

aignermax/PythonCodingWorkshop

Repository files navigation

Python Coding Workshop

A comprehensive workshop demonstrating Python programming concepts with a focus on Object-Oriented Programming (OOP) and SOLID principles.

Project Structure

Key Concepts Covered

1. Object-Oriented Programming

  • Class creation and instantiation
  • Inheritance and polymorphism
  • Static methods and class methods
  • Property decorators
  • Helper classes and utility functions

2. SOLID Principles

  • Single Responsibility Principle

    • Each class should have only one reason to change
  • Open-Closed Principle

    • Software entities should be open for extension but closed for modification
    • Example: Discount calculation using strategy pattern
  • Liskov Substitution Principle

    • Objects should be replaceable with instances of their subtypes
  • Interface Segregation Principle

    • Clients should not be forced to depend upon interfaces they do not use
  • Dependency Inversion Principle

    • Depend upon abstractions, not concretions

Code Examples

Open-Closed Principle Example

Prerequisites

  • Python 3.7+
  • Basic understanding of Python syntax
  • Familiarity with OOP concepts (recommended)

Contributing

Feel free to submit pull requests or create issues for any improvements or bug fixes.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published