➡️ https://debakarr.github.io/python-functional-programming
- Make sure you have Python installed. Follow the guide in the official Python documentation on how to do it for different operating systems: Windows, Mac, or Unix systems.
- Considering you have Git installed. Try cloning this repository:
git clone https://github.com/debakarr/python-functional-programming.git - I would recommend creating a
virtual environmentto install the dependencies:python -m venv .venv - Activate virtual environment: On Windows
.venv\Scripts\activateand on Linuxsource .venv/bin/activate - Install all the dependencies in the virtual environment:
pip install -r requirements.txt - Run Jupyter Lab:
jupyter lab
This course is targeted for developers who have already intermediate experience with Python and want to level up to advance level.
Course is delivered by Roy, Debakar.
You should already have knowledge of:
- Python fundamentals (identifier, data types, loops, functions, OOP).
- Python intermediate (decorator, lambda, typing, generator, iterator).
- If you are new to Python, consider completing a beginner and intermediate Python course first.
- We assume that we are on Python 3.8+
- Git (In case you want to clone this repo and run it locally).
- Gain in-depth understanding of Functional Programming principles, including first-class and high-order functions, pure functions, and immutability.
- Learn intermediate and advanced concepts such as closures, currying, monads, functors, and the intersection of Functional Programming and OOP.
- Apply theoretical knowledge in practical exercises, translating complex concepts into applicable skills for real-world projects.
- Empower yourself to write clean, efficient, and easily testable code, ultimately enhancing your ability to handle complex software projects with confidence.
Python3.8+
| Branch | Schedule | Status | First release | End of life | Release manager |
|---|---|---|---|---|---|
| main | PEP 719 | feature | 2024-10-01 | 2029-10 | Thomas Wouters |
| 3.12 | PEP 693 | prerelease | 2023-10-02 | 2028-10 | Thomas Wouters |
| 3.11 | PEP 664 | bugfix | 2022-10-24 | 2027-10 | Pablo Galindo Salgado |
| 3.10 | PEP 619 | security | 2021-10-04 | 2026-10 | Pablo Galindo Salgado |
| 3.9 | PEP 596 | security | 2020-10-05 | 2025-10 | Łukasz Langa |
| 3.8 | PEP 569 | security | 2019-10-14 | 2024-10 | Łukasz Langa |


