Skip to content

Lord-Lucius/42-python-bootcamp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐍 42 Python Bootcamp

Master Python from scratch through peer-to-peer learning at 42

"The way of the sword is found in walking. There is nothing outside of this." — Musashi Miyamoto


📚 Overview

This is my journey through the 42 School AI Bootcamp — a comprehensive Python curriculum designed to take you from zero to hero. The bootcamp covers everything from basic syntax to advanced topics like NumPy, data structures, and functional programming.

Status: 🚀 In Progress
School: 42 Paris
Focus: Python fundamentals, algorithms, data manipulation


🎯 What You'll Find Here

✅ Completed Modules

  • Module 00 - Basics 0 (Setup, Hello World, Variables)
  • Module 01 - Basics 1 (Functions, Loops, Conditionals)
  • Module 02 - Basics 3 (Advanced functions, decorators, context managers)
    • 🔹 ft_reduce — Functional programming with iterables
    • 🔹 what_are_the_vars — Dynamic attributes & introspection
    • 🔹 Log decorator — Timing & performance monitoring
    • 🔹 CsvReader — File handling & context managers

🔄 Current Module

  • Module 03 - NumPy (Scientific computing, arrays, matrices)

📋 Upcoming

  • Module 04+ - Data structures, algorithms, OOP deep-dive

🛠️ Key Concepts Learned

Functional Programming

  • map(), filter(), reduce()
  • Lambda functions & closures
  • Function composition & decorators

Advanced Functions

  • Decorators with parameters
  • Context managers (__enter__, __exit__)
  • Generator functions & yield

File I/O & Data Handling

  • Reading/writing CSV files
  • Validation & error handling
  • Memory-efficient data processing

Introspection & Metaprogramming

  • getattr(), setattr(), hasattr()
  • Dynamic attribute detection
  • Type checking & validation

Timing & Performance

  • time.perf_counter() for precise measurements
  • Converting nanoseconds to human-readable format
  • Decorator-based profiling

💡 Notable Exercises

1️⃣ ft_reduce - Functional Reduce

Implements Python's reduce() with custom logic.
Master: Iterables, accumulators, edge cases

2️⃣ what_are_the_vars - Dynamic Introspection

Detects conflicting variable names in function scope.
Master: getattr(), try-except, dynamic analysis

3️⃣ Log Decorator - Performance Monitoring

Wraps functions to log execution time with formatting.
Master: Decorators, timing, string manipulation

4️⃣ CsvReader - Context Manager

Custom CSV reader with corruption detection.
Master: Context managers, file handling, validation

📖 Skills Developed

Category Skills
Python Fundamentals Syntax, data types, control flow
Functional Programming Map, filter, reduce, decorators
File I/O Reading, writing, parsing CSV
OOP Classes, inheritance, context managers
Algorithms Sorting, searching, optimization
Data Science NumPy, vectorization, matrices
Testing Unit tests, assertions, debugging

🔧 Tech Stack

Python NumPy Pytest Git VS Code


📊 Progress

Module 00: ████████████████████ 100% ✅
Module 01: ████████████████████ 100% ✅
Module 02: ████████████████████ 100% ✅
Module 03: ████████░░░░░░░░░░░░  40% 🔄
Module 04: ░░░░░░░░░░░░░░░░░░░░   0% 📋

🤝 Contributing

This is a personal learning project, but feel free to:

  • ⭐ Star if you find it helpful
  • 🔍 Review the code and suggest improvements
  • 💬 Discuss Python concepts
  • 🐛 Report any issues

📚 Resources Used


Made at 42 Paris

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages