Documenting my journey from basic syntax to Machine Learning, NLP, and beyond.
This repository is a living log of my progress through the Python ecosystem. It tracks my transition from foundational logic to building complex AI models.
- OS: Omarchy (Arch Linux)
- Environment: Conda (Virtual Environments)
- Workflow: Hybrid approach using Neovim for core logic and VS Code for deep debugging and visualization.
- Syntax & Semantics: Indentation rules, comments, and the Python execution model.
- Variables: Dynamic memory allocation and naming conventions.
- Data Types: Working with Strings, Integers, Floats, and Booleans.
- Operators: Arithmetic, comparison, and logical operator implementation.
- Conditional Statements: Branching logic with
if,elif, andelse. - Loops: Iteration patterns using
for(range/sequence) andwhile.
- Lists: Ordered, mutable sequences for collection management.
- Tuples: Immutable sequences for fixed data integrity.
- Sets: Unordered collections of unique elements for membership testing.
- Dictionaries: Key-value mapping for optimized data retrieval.
- Getting Started: Defining reusable logic with
def, handling arguments (positional vs. keyword), and managingreturnvalues. - Scope: Understanding Local vs. Global namespaces (LEGB rule).
- Lambda Functions: Writing anonymous, one-liner functions for quick logic.
- Functional Tools:
- Map: Transforming iterables by applying a function to every element.
- Filter: Extracting elements from a collection based on a boolean condition.
- Reduce: (via
functools) Rolling up a sequence into a single cumulative value.
- Importing Modules & Packages: Organizing code using
import,from ... import, and understanding the difference between a module (.py file) and a package (directory with__init__.py). - Standard Library Overview: Leveraging Python’s "batteries included" philosophy with core modules like
os,sys,math, anddatetime.
- File Operations: Mastering the
open()function and thewithstatement (Context Managers) for reading, writing, and appending data safely. - Working with File Paths: Navigating filesystems using
os.pathand the modernpathliblibrary for cross-platform compatibility.
- Exception Handling: Building resilient code using
try,except,else, andfinallyblocks to manage runtime errors gracefully.
- Classes And Objects: Understanding the blueprint (
class) and the instance (object) relationship. - Inheritance: Enabling code reuse and hierarchy creation using parent and child classes.
- Polymorphism: Allowing different classes to be treated as instances of the same general class through method overriding.
- Encapsulation: Restricting access to internal state using private/protected naming conventions (
_and__). - Abstraction: Hiding complex implementation details using Abstract Base Classes (
abcmodule). - Magic Methods: Customizing class behavior with "dunder" methods like
__init__,__str__, and__repr__. - Operator Overloading: Implementing custom arithmetic and comparison logic for objects using magic methods.
- Custom Exception Handling: Defining domain-specific errors by inheriting from the base
Exceptionclass.
More to come...