totonoe

ITを整える

中級

Python を整える

= ブラウザでさわって学ぶ Python 練習場

プログラミングの骨格は「変数 → データ型 → 関数 → クラス」の 4 ステップ。ブラウザ内で Python が動くので、書いて → 実行 → 変数のメモリがどう変わるかを安全に何度でも試せます。

i

TLDR — 30秒で分かる

ブラウザ内 Python (Pyodide) で 変数 → データ型 → 関数 → クラス の 4 ステップを試せる Playground。実行後の変数インスペクタ・参照共有の可視化付き。

主な機能を見る
  • 4 ステップ + 応用のサンプルコード(クラス・継承・内包表記・例外)
  • 実行後の変数インスペクタ(型・値・参照 ID)
  • 同じオブジェクトを複数変数が指す「参照共有」をハイライト
  • CodeMirror 6 シンタックスハイライト
  • Pyodide CDN ロード(初回 ~10MB・以降キャッシュ)
  • Ctrl/⌘ + Enter で実行

サンプルコード(クリックでエディタに挿入)

PYTHON EDITOR Python 3.12 (Pyodide WASM)

OUTPUT

Python コードを書いて「実行」を押すと、ここに print 出力が出ます。

使い方

4 ステップで Python の骨格をつかむ。

  1. 1

    変数 — 値に名前をつけて呼び出す

    name = "太郎" のように = で「箱」に値を入れる。実行後、右の VARIABLES に変数が並びます。

  2. 2

    データ型 — 複数の値をまとめる

    リスト(順番付き)/辞書(キーと値のペア)/タプル(変更不可)。プログラムの 9 割はこの 3 つで足ります。

  3. 3

    関数 — 処理に名前を付けて再利用

    def で「入力 → 処理 → 出力」のひとまとまりを定義。同じ処理を何度も書かずに済む。

  4. 4

    クラス — 「もの」を作る設計図

    class で「ものの型」を定義し、データ(属性)と振る舞い(メソッド)を一緒にまとめる。オブジェクト指向の入口。

💡 初回は Pyodide(Python WASM)の読み込みに 5〜15 秒かかります。2 回目以降はキャッシュから瞬時にロード。データはサーバに送られず、すべてブラウザ内で実行されます。

よくある質問

Q. 入力した Python コードはサーバーに送られますか?
A. いいえ。Python インタプリタ自体(Pyodide)が WebAssembly でブラウザ内にロードされ、コードの実行・標準出力・変数の生成までがすべてあなたのブラウザの中で完結します。書いたコードもデータもサーバには一切送信されません。社内データや個人情報を含むスクリプトを試しても安全です。
Q. Python の「骨格」って何ですか?
A. プログラミング初学者がまず押さえるべき 4 つは **①変数(=で値に名前をつける)/②データ型(リスト・辞書・タプルで複数の値をまとめる)/③関数(def で処理に名前を付けて再利用)/④クラス(class でデータと振る舞いをまとめる)**。本 Playground のサンプルもこの 4 ステップ + 応用(継承・内包表記・例外処理)の順で並んでいます。これだけで「人のコードを読める」「自分でも書ける」レベルに届きます。
Q. Python のコーディング規約(PEP 8)の要点は?
A. Python 公式スタイルガイド「PEP 8」の最重要ポイント:①**インデントは半角スペース 4 つ**(タブは原則使わない)、②変数・関数は **snake_case**(`user_name`)、クラスは **PascalCase**(`UserAccount`)、定数は **UPPER_SNAKE**(`MAX_SIZE`)、③行は 79 文字以内(実務では 100〜120 まで許容されることも)、④関数の上は 2 行空ける、⑤`==` で None と比較せず `is None` を使う。本 Playground のサンプルもこの規約に従っています。
Q. 「変数」と「オブジェクト」の違いは?
A. Python では **変数は「名前のラベル」** で、実体(オブジェクト)はメモリ上にある、という関係。`a = [1, 2, 3]; b = a` と書くと、a と b は同じリストを指します(同じ id)。これが「参照共有」で、a を変更すると b も変わる原因。右の VARIABLES パネルで同じ id を持つ変数同士は「↔」で結ばれるので、目で見て確認できます。
Q. Pyodide って何ですか?JavaScript の Python 版?
A. Pyodide は CPython(公式 Python 処理系)を WebAssembly に移植したもので、本物の Python 3.12 をブラウザ内で動かせます。NumPy・Pandas・Matplotlib などの C 拡張ライブラリも動作可能。JavaScript で書き直した「Python っぽい言語」ではなく、ガチの CPython なので動作互換性が高いのが特徴です。初回ロードに ~10MB ですが、ブラウザがキャッシュするので 2 回目以降は瞬時。
Q. 「変数インスペクタ」で何が分かりますか?
A. 実行後、メモリに残っているユーザー定義変数の一覧が右に出ます。表示項目は **①変数名/②型(int / str / list / dict / クラス名)/③値の repr(先頭 240 文字)/④参照 ID** で、同じ ID を複数の変数が指している場合は「↔ 変数名」で繋がりが見えます。リストや辞書をコピーしたつもりが「同じものを 2 つの名前が指していた」ような失敗を視覚的に確認できます。
Q. クラスと関数の使い分けは?
A. 「状態(データ)と振る舞い(処理)を一緒に扱いたい」ならクラス、「処理だけを再利用したい」なら関数、が基本。例えば「ユーザーの名前・年齢・誕生日メソッド」をまとめて扱うならクラス、「2 つの数を足す」だけなら関数で十分。クラスを使うと「データを書き換えるメソッド」を `obj.method()` のようにオブジェクトに紐付けて呼べるので、コードの整理がしやすくなります。
Q. 「リセット」したら自分が書いた変数や関数は消えますか?
A. はい、すべて消えます(Pyodide 側でユーザー定義の名前を全部 del します)。インポートしたモジュールも未参照になります。逆に言えばエディタの内容はそのまま残るので、もう一度「実行」を押せば同じ状態を再生できます。Pyodide の起動状態は維持されるので、リセット直後の再実行は瞬時です。
Q. 実行に時間がかかります(初回)
A. Pyodide のロードに 5〜15 秒(回線速度依存・約 10MB)かかります。これは **初回だけ** で、ブラウザがキャッシュするため 2 回目以降のページ訪問では数 ms で起動します。実行ボタンを押した瞬間にロードが始まるので、初回はこの待ち時間を許容してください。

RELATED TOOLS

続けて整える

KOINOBORI ECOSYSTEM

私たちが運営するサイト