Marketplace

Python Fundamentals

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

$ 설치

git clone https://github.com/pluginagentmarketplace/custom-plugin-python /tmp/custom-plugin-python && cp -r /tmp/custom-plugin-python/skills/python-fundamentals ~/.claude/skills/custom-plugin-python

// tip: Run this command in your terminal to install the skill


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