1.2 KiB
1.2 KiB
name, description
| name | description |
|---|---|
| python-skill | Python coding best practices and patterns. Use when writing, reviewing, or debugging Python code. |
Python Skill
Type Hints (Python 3.10+)
# Bad
def process(data, callback):
return callback(data)
# Good
from typing import Callable
def process(data: dict, callback: Callable[[dict], str]) -> str:
return callback(data)
Dataclasses Over Plain Dicts
from dataclasses import dataclass
@dataclass
class GameFrame:
timestamp: float
objects: list[str]
confidence: float = 1.0
Context Managers for Resources
# Bad
f = open("log.txt")
data = f.read()
f.close()
# Good
with open("log.txt") as f:
data = f.read()
List Comprehensions vs Loops
# Prefer comprehension for simple transforms
enemies = [obj for obj in objects if obj.type == "enemy"]
# Use loop when logic is complex (>2 conditions)
results = []
for obj in objects:
if obj.type == "enemy" and obj.visible and obj.distance < 100:
results.append(obj.position)
Error Handling
# Be specific — never catch bare Exception silently
try:
frame = capture_screen()
except ScreenCaptureError as e:
logger.error("Screen capture failed: %s", e)
raise