Install
openclaw skills install pyWrite reliable Python avoiding mutable defaults, import traps, and common runtime surprises.
openclaw skills install py| Topic | File |
|---|---|
| Dynamic typing, type hints, duck typing | types.md |
| List/dict/set gotchas, comprehensions | collections.md |
| Args/kwargs, closures, decorators, generators | functions.md |
| Inheritance, descriptors, metaclasses | classes.md |
| GIL, threading, asyncio, multiprocessing | concurrency.md |
| Circular imports, packages, init.py | imports.md |
| Pytest, mocking, fixtures | testing.md |
def f(items=[]) shares list across all calls — use items=None then items = items or []is checks identity, == checks equality — "a" * 100 is "a" * 100 may be Falsefor x in list(items):except: catches SystemExit and KeyboardInterrupt — use except Exception:UnboundLocalError when assigning to outer scope variable — use nonlocal or globalopen() without context manager leaks handles — always use with open():0.1 + 0.2 != 0.3 — floating point, use decimal.Decimal for moneyitertools.tee__init__ instead__init__ is not constructor — __new__ creates instance, __init__ initializesencoding='utf-8'