A comprehensive interactive learning system for Python
Quick Start β’ Features β’ Documentation β’ Configuration
Python Features Explorer is an interactive command-line application designed to help you learn Python through guided exploration. Navigate through comprehensive chapters, execute working examples, track your progress, and test your knowledge with quizzes.
π― Major Updates
- π Smart Search - Find chapters by keywords instantly
- πΎ Progress Tracking - Remember where you left off, even after closing
- π Statistics Dashboard - Monitor your learning journey
- β Favorites System - Bookmark important chapters for quick access
- π Theme Support - Light/dark/automatic themes for comfortable viewing
- π Quiz System - Test your understanding with interactive quizzes
- βοΈ Configurable Settings - Custom behavior via
config.yaml - π Logging & Error Handling - Better debugging and reliability
# Install dependencies
pip install colorama PyYAML
# Run the application
python main.pyFeatures you'll discover immediately:
- Search for chapters by typing keywords
- View your progress and statistics
- Mark chapters as favorites
- Take quizzes after completing examples
- All your progress saved automatically
See the Quick Start Guide for detailed setup instructions.
The application is organized into 10 comprehensive chapters covering essential Python concepts:
| # | Topic | Progress |
|---|---|---|
| 1 | Introduction to Python | π Basic concepts, setup, environment |
| 2 | Data Types & Variables | π Variables, types, strings |
| 3 | Control Flow | βΎοΈ Conditions, loops, flow control |
| 4 | Functions | π Function definitions, parameters, scope |
| 5 | Modules & Packages | π¦ Module system, packages, imports |
| 6 | Error Handling | |
| 7 | Working with Files | π File I/O, CSV, JSON handling |
| 8 | Collections & Iterators | π Lists, dicts, sets, comprehensions |
| 9 | Classes & OOP | ποΈ Object-oriented programming, inheritance |
| 10 | Advanced Python | β‘ Decorators, generators, async |
Each chapter includes:
- Clear learning objectives
- Detailed explanations
- Working examples you can run
- Quiz questions (when enabled)
- Progress tracking
Find specific content instantly:
Search chapters (press Enter to see all)> os
Searches chapter titles, descriptions, and examples.
- Automatically save your state between sessions
- Track which examples you've completed
- Remember quiz scores and ratings
- Total time spent tracking
Choose your preferred appearance:
- Light mode - Bright, clear text
- Dark mode - Easier on eyes for long sessions
- Auto-detect - Matches your system theme
Type stats at the main menu to see:
- Total chapters completed
- Progress percentage
- Favorited chapters
- Examples rated
- Session time tracked
Mark important chapters for quick access:
- Press
favto enable - Favorite chapters appear at the top of the menu
- Quick access to challenging material
Test your knowledge after completing chapters:
- Multiple choice questions
- Instant feedback with explanations
- Pass/fail determination (70% required)
- Retry attempts available
Adjust the application to your needs:
# config.yaml examples
execution:
timeout_seconds: 60
search:
fuzzy_match: true
quizzes:
enabled: true
passing_score: 75- What is Python?
- History and philosophy
- Installing Python
- Setting up your development environment
- Python shell basics
- First program: Hello World
- Understanding Python code
- Comments and documentation
- Variables and data types
- Primitive data types (int, float, str, bool)
- Type conversion
- String manipulation
- Number formatting
- Working with bytes
- Best practices
- Conditional statements (if, elif, else)
- Boolean operations
- Loops (for, while)
- Loop control (break, continue, pass)
- Pattern matching (match/case) - Python 3.10+
- Common patterns
- Function definitions
- Parameters and return values
- Default arguments
- *args and **kwargs
- Lambda functions
- Anonymous functions
- Function scope
- Recursive functions
- Import system
- Standard library modules
- Creating your own modules
- Package structure
- Installation and dependencies
- pip and virtual environments
- Module discovery
- Best practices
- Exception handling
- Try-except blocks
- Custom exceptions
- Exception chaining
- Debugging techniques
- Logging vs exceptions
- Best practices
- Error recovery
- Reading and writing files
- File operations
- Context managers
- Path manipulation (os, pathlib)
- CSV file handling
- JSON serialization
- Binary file I/O
- Working with large files
- Lists and list comprehensions
- Dictionaries and dict comprehensions
- Sets and set operations
- Tuples and namedtuples
- Iterators and generators
- itertools module
- collections module
- Common data structures
- Object-oriented programming basics
- Classes and objects
- Class methods and static methods
- Inheritance and polymorphism
- Special methods (init, str, etc.)
- Encapsulation and properties
- Abstract base classes
- Design patterns
- Decorators (function and class)
- Generators and coroutines
- Context managers (with statements)
- Asyncio and async/await
- Metaprogramming
- Type hints
- Data classes
- Performance optimization
Option 1: Manual Installation
pip install colorama PyYAMLOption 2: Using requirements.txt
pip install -r requirements.txtOption 3: Virtual Environment (Recommended)
python -m venv explorer_env
source explorer_env/bin/activate # On Windows: explorer_env\Scripts\activate.bat
pip install -r requirements.txt-
Use defaults (recommended for beginners):
python main.py
-
Custom configuration:
cp config.yaml.example config.yaml # Edit config.yaml to your preferences python main.py -
Generate quizzes:
python generate_quizzes.py
| Command | Description |
|---|---|
1-N |
Select a chapter |
exit, quit, q |
Exit the application |
help |
Show help message |
stats |
View statistics and progress |
fav |
Toggle favorites mode |
config |
Display current configuration |
| Command | Description |
|---|---|
1-N |
Select an example to run |
y |
Try quiz (if enabled) |
============================================================
Welcome to the Python Features Explorer!
============================================================
Search chapters (press Enter to see all): python
Search chapters (press Enter to see all)
=== Python Features Explorer - Chapters ===
Progress: 0/10 chapters (0%)
Favorites: 0 of 10
1. Introduction to Python (1/1 examples) β° β¨
2. Data Types & Variables (2/2 examples) β°
3. Control Flow (5/5 examples) β°
4. Functions (6/6 examples) β°
5. Modules & Packages (4/4 examples) β°
6. Error Handling (4/4 examples) β°
7. Working with Files (5/5 examples) β°
8. Collections & Iterators (7/7 examples) β°
9. Classes & OOP (5/5 examples) β°
10. Advanced Python (6/6 examples) β°
11. Exit Application
Search chapters (press Enter to see all)
Try these commands:
pythonβ Filter to show only Python-related chapters1β Enter Chapter 1: Introduction to Pythonyβ Try quiz after completing examplesstatsβ View your overall progressfavβ Enable favorite mode
Advanced customization through config.yaml:
# Application settings
app:
name: "Python Features Explorer"
version: "2.0.0"
debug: false
# Execution settings
execution:
timeout_seconds: 30
max_examples_per_session: 0
shell: "python3"
# Display preferences
display:
show_descriptions: true
show_progress_bars: true
content_width: 80
wide_separators: false
# Search configuration
search:
fuzzy_match: true
min_characters: 2
search_scope: "all"
# Progress tracking
progress:
enabled: true
storage_file: "user_progress.json"
auto_save: true
# Theme settings
theme:
mode: "auto" # auto, dark, light
colors:
header: "cyan"
chapter_title: "green"
example: "blue"
# Quizzes
quizzes:
enabled: true
questions_per_chapter: 5
passing_score: 70
allow_retries: true
# Security
security:
sandbox_mode: false
allowed_directories: ["examples"]
blocked_functions: ["os.system", "eval", "exec"]
# Logging
logging:
level: "INFO"
file: "python_explorer.log"
max_size_mb: 10See FEATURES.md for complete configuration options.
All activities are logged to python_explorer.log:
- Application startup and shutdown
- Chapter loading details
- Examples executed
- Progress changes
- Errors and warnings
View logs for troubleshooting:
tail -n 50 python_explorer.log- Complete all examples - Practice is key to learning
- Take quizzes - Reinforce concepts
- Track your progress - Stay motivated with statistics
- Use favorites - Bookmark important chapters
- Search effectively - Find concepts quickly
- Review the logs - Learn from issues and errors
- Python: 3.8 or higher (3.10+ recommended for latest features)
- Operating System: Any OS with Python support (Windows, macOS, Linux)
- Disk Space: Minimal (< 5 MB)
- Memory: Standard requirements for Python execution
Searching works on:
- Chapter titles (e.g., "function", "loop")
- Descriptions (e.g., "introduction", "basic")
- Example names (e.g., "math", "json")
Examples:
Search chapters> os # Find all OS-related content
Search chapters> data # Find all data type content
Search chapters> class # Find OOP content
Search chapters> loop # Find control flow contentThis application executes Python scripts, which carry inherent risks:
- Examples run with your user privileges
- No sandboxing by default - Scripts have file system access
- Review code before execution - Always read example content
For more details, see security.md.
For production use, we recommend:
- Running in a containerized environment
- Enabling sandbox mode in config
- Reviewing all example code
- Using restricted access permissions
- README.md - Main documentation and project overview
- QUICK_START.md - Step-by-step setup guide
- FEATURES.md - Detailed feature documentation
- security.md - Security considerations and best practices
New: Features mentioned above (search, progress tracking, themes, quizzes, etc.)
- Initial release
- Basic chapter navigation
- Example execution
- Manual progress tracking
While this is an educational project, contributions are welcome!
Suggested improvements:
- Additional chapters or examples
- Better search algorithms
- Enhanced quiz functionality
- Improved user interface
- Additional themes
- Documentation: See FEATURES.md
- Logging: Check
python_explorer.logfor issues - Configuration: Review FEATURES.md for config options
- Issues: Please report problems through the project's issue tracker
- Install dependencies:
pip install colorama PyYAML - Run application:
python main.py - Explore chapters: Browse the content
- Learn by doing: Execute examples
- Test yourself: Take quizzes
Happy Learning! π