pluginagentmarketplace

Python Fundamentals

2
1
# Install this skill:
npx skills add pluginagentmarketplace/custom-plugin-python --skill "Python Fundamentals"

Install specific skill from multi-skill repository

# Description

Master Python syntax, data types, control flow, functions, OOP, and standard library

# SKILL.md


name: Python Fundamentals
description: Master Python syntax, data types, control flow, functions, OOP, and standard library
version: "2.1.0"
sasmp_version: "1.3.0"
bonded_agent: 01-python-fundamentals
bond_type: PRIMARY_BOND

Skill Configuration

retry_strategy: exponential_backoff
observability:
logging: true
metrics: skill_completion_rate


Python Fundamentals

Overview

This skill covers the foundational elements of Python programming including syntax, data types, control structures, functions, object-oriented programming, and the standard library.

Learning Objectives

  • Write clean, Pythonic code following PEP 8 guidelines
  • Master all Python data structures (lists, tuples, dicts, sets)
  • Understand and implement object-oriented programming concepts
  • Navigate and utilize the Python standard library effectively
  • Manage virtual environments and packages with pip/venv

Core Topics

1. Python Syntax & Data Types

  • Variables and naming conventions
  • Numeric types (int, float, complex)
  • Strings and string methods
  • Boolean logic and None
  • Type hints (PEP 484)
  • F-strings and formatting

Code Example:

# Type hints and f-strings
def greet_user(name: str, age: int) -> str:
    return f"Hello {name}, you are {age} years old!"

# Using the function
message = greet_user("Alice", 30)
print(message)  # Hello Alice, you are 30 years old!

2. Control Flow & Functions

  • Conditional statements (if/elif/else)
  • Loops (for, while)
  • List/dict/set comprehensions
  • Function parameters and arguments
  • Lambda functions
  • Decorators basics

Code Example:

# List comprehension with conditional
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_squares = [x**2 for x in numbers if x % 2 == 0]
print(even_squares)  # [4, 16, 36, 64, 100]

# Decorator example
def timing_decorator(func):
    import time
    def wrapper(*args, **kwargs):
        start = time.time()
        result = func(*args, **kwargs)
        end = time.time()
        print(f"{func.__name__} took {end - start:.4f} seconds")
        return result
    return wrapper

@timing_decorator
def slow_function():
    import time
    time.sleep(1)
    return "Done!"

3. Object-Oriented Programming

  • Classes and instances
  • Inheritance and composition
  • Polymorphism and duck typing
  • Encapsulation (public/private)
  • Magic methods (init, str, repr, etc.)
  • Abstract base classes

Code Example:

from abc import ABC, abstractmethod

class Vehicle(ABC):
    def __init__(self, brand: str, model: str):
        self.brand = brand
        self.model = model

    @abstractmethod
    def start_engine(self) -> str:
        pass

    def __str__(self) -> str:
        return f"{self.brand} {self.model}"

class Car(Vehicle):
    def __init__(self, brand: str, model: str, doors: int):
        super().__init__(brand, model)
        self.doors = doors

    def start_engine(self) -> str:
        return f"{self} engine started with {self.doors} doors"

# Usage
car = Car("Toyota", "Camry", 4)
print(car.start_engine())  # Toyota Camry engine started with 4 doors

4. Standard Library

  • File operations (open, read, write)
  • Path handling with pathlib
  • datetime for date/time operations
  • collections (Counter, defaultdict, namedtuple)
  • itertools and functools
  • json and csv modules

Code Example:

from pathlib import Path
from datetime import datetime, timedelta
from collections import Counter
import json

# Path operations
data_dir = Path("data")
data_dir.mkdir(exist_ok=True)

config_file = data_dir / "config.json"
config = {"app_name": "MyApp", "version": "1.0.0"}

# Write JSON
with open(config_file, "w") as f:
    json.dump(config, f, indent=2)

# Read JSON
with open(config_file, "r") as f:
    loaded_config = json.load(f)

# Date operations
today = datetime.now()
next_week = today + timedelta(days=7)
formatted = today.strftime("%Y-%m-%d %H:%M:%S")

# Counter for frequency analysis
words = ["apple", "banana", "apple", "cherry", "banana", "apple"]
word_count = Counter(words)
print(word_count.most_common(2))  # [('apple', 3), ('banana', 2)]

Hands-On Practice

Project 1: File Management Tool

Build a command-line tool that organizes files by extension.

Requirements:
- Accept directory path as input
- Scan for files recursively
- Group files by extension
- Move files to organized folders
- Generate summary report

Key Skills: pathlib, file I/O, os module

Project 2: Contact Manager (OOP)

Create a contact management system using object-oriented principles.

Requirements:
- Contact class with name, email, phone
- ContactBook class to manage contacts
- CRUD operations (Create, Read, Update, Delete)
- Search and filter functionality
- Persist data to JSON file

Key Skills: OOP, JSON serialization, data structures

Project 3: Text Analyzer

Analyze text files for statistics and patterns.

Requirements:
- Word frequency analysis
- Character count (with/without spaces)
- Average word length
- Most common words (exclude stop words)
- Export results to CSV

Key Skills: String manipulation, collections.Counter, CSV

Assessment Criteria

  • [ ] Write PEP 8 compliant Python code
  • [ ] Use appropriate data structures for different scenarios
  • [ ] Implement classes with proper OOP principles
  • [ ] Utilize standard library modules effectively
  • [ ] Manage virtual environments and dependencies
  • [ ] Handle exceptions properly
  • [ ] Write clear docstrings and comments

Resources

Official Documentation

Learning Platforms

Tools

Next Steps

After mastering Python fundamentals, proceed to:
- Django Framework - Build web applications
- Pandas Data Analysis - Work with data
- Pytest Testing - Write comprehensive tests
- Asyncio Programming - Asynchronous Python

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.