本文へスキップ
totonoe

NEWS

新ツール

新ツール「Python を整える(Playground)」をリリースしました

Python を整える(Playground)」を公開しました。

SQL Playground に続く Code Playground シリーズ第 2 弾です。SQL が「CRUD の 4 動詞」で骨格を示したのと同じ思想で、Python は「変数 → データ型 → 関数 → クラス」の 4 ステップを最前面に置きました。

すべて ブラウザ内処理。本物の CPython(Pyodide)が WebAssembly で動くので、書いたコードもデータも一切サーバに送られません。社内データや個人情報を含むスクリプトを試しても安全です。

主な機能(4 つ)

1. 4 ステップ + 応用のサンプルコード

「人のコードが読める/自分でも書ける」レベルに最短で到達する 4 ステップ:

STEP内容サンプル
STEP 1変数name = "太郎"; age = 30 の基本形
STEP 2データ型リスト・辞書・タプル — プログラムの 9 割はこれで足りる
STEP 3関数def で「入力 → 処理 → 出力」を再利用
STEP 4クラスclass で属性とメソッドをまとめる、OOP の入口

加えて応用編として 継承(オーバーライド)、リスト内包表記例外処理(try/except)も用意。

2. 変数インスペクタ — 実行後のメモリを可視化

実行後、右側のサイドバーに**「現在メモリに存在する変数」**の一覧を表示:

  • 変数名・型(int / str / list / Person 等)・値の repr
  • カテゴリ別の色分け(primitive / collection / callable / instance)
  • 参照 ID(同じオブジェクトを指す変数を ↔ で連結)

a = [1, 2, 3]; b = a のような「同じリストを a と b の両方が指している」状況が一目で分かる設計。Python の「参照」概念を抽象論ではなく実物で学べます。

3. CodeMirror 6 + Python シンタックスハイライト

軽量な CodeMirror 6 に Python 文法を載せて、予約語・文字列・数値・コメントを色分け表示。

  • Ctrl/⌘ + Enter で即実行
  • エラーは下に Python トレースバック をそのまま表示(メッセージから学べる)
  • print 出力はリアルタイムにキャプチャ

4. Pyodide CDN ロード(軽量デプロイ)

Python 本体(Pyodide)は CDN(cdn.jsdelivr.net)からロード。

  • 初回ロード ~10MB(5〜15 秒)、2 回目以降はブラウザキャッシュから瞬時
  • ローカルサイズはわずか + 数 KB(JS のみ)で済む
  • NumPy・Pandas など主要ライブラリも動作可能(必要に応じて Pyodide が動的ロード)

なぜ作ったか — 「最初の一歩」を最短化

Python 入門書を読み終えた後、「じゃあ自分で書いてみよう」となる瞬間に次のハードルがあります:

  • Python の環境構築(pyenv / venv / pip / PATH の設定)
  • VS Code / PyCharm のインストールと拡張機能の設定
  • 「Hello World」までに 30 分かかる

本ツールは 「書く → 実行 → 変数が見える」のフィードバックループを最短化することだけが目的です。問題集はあえて作らず、サンプルコードで「お手本」を呼んで、自由に書き換える方式。

特に**「変数とオブジェクトの参照」**は、SQL の「テーブルとレコード」、C の「メモリとポインタ」と並んで、プログラミングを理解する上での核心概念。これを抽象的な説明ではなく、実物の変数を画面の右側に並べて見せることで、頭に入りやすくしました。

よくある質問(抜粋)

質問答え(要約)
サーバに送られる?いいえ、WASM 上の CPython がブラウザ内で完結
Pyodide って何?CPython 公式処理系の WebAssembly 版。本物の Python 3.12
変数とオブジェクトの違いは?変数は「名前のラベル」、オブジェクトはメモリ上の実体。a = b で同じ実体を 2 つの名前が指す
PEP 8 の要点は?インデント 4 スペース、変数は snake_case、クラスは PascalCase、is None で比較

詳細は ツールページの FAQ で 9 問掲載しています。

Code Playground シリーズの今後

  • Phase 1: SQL Playground — 公開済み(CRUD の 4 動詞)
  • Phase 2: Python Playground — 本日公開(変数 → クラス)
  • 🔄 Phase 3: C Playground(予定)— tcc.wasm でメモリ図とポインタ可視化

「変数」「クラス」「メモリ」など、プログラミングの抽象概念を触って分かるツール群を、totonoe の中に少しずつ育てています。

👉 Python を整える(Playground)を開く

KOINOBORI ECOSYSTEM

私たちが運営するサイト