本文へスキップ
totonoe.tech

プログラミング言語を整える

中級

Python を整える。

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

Python が初めての方は、先に そもそも Python とは・どんな場面で使うか をどうぞ。

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

PYTHON EDITOR Python 3.12 (Pyodide WASM)

OUTPUT

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

そもそも Python とは

読みやすさを大事にした、データにも Web にも自動化にも使える言語。

Python(パイソン)は、プログラムを書いた順に一行ずつ動かせるインタプリタ型の汎用プログラミング言語です。1991年に Guido van Rossum が最初の版を公開しました。字下げ(インデント)で処理のまとまりを表すので、見た目がそろい、他人のコードも読みやすいのが特徴です。

C 言語や Java のように「まとめて変換(コンパイル)してから動かす」手間がなく、同じことを短い行数で書けます。JavaScript が主にブラウザの中で動く言語なのに対し、Python はサーバー側・データ分析・業務の自動化といった場面でよく使われます。変数の型は実行するときに決まる動的型付けです。

どこで・どんな場面で使うか

  • Web サービスのサーバー側

    Django・Flask・FastAPI といったフレームワークを使い、会員登録や注文受付などの裏側の処理を書きます。

  • データ分析・機械学習

    pandas・NumPy・scikit-learn・PyTorch など、データを扱うライブラリが豊富で、この分野の共通言語のように使われています。

  • 業務の自動化

    Excel や CSV の加工、ファイルの整理、メール送信、他サービスの API 呼び出しなど、毎日の手作業を短いスクリプトにできます。

  • 学習・研修の最初の言語

    文法がすっきりしているため、学校や研修でプログラミング入門の言語として選ばれることが多くあります。

  • 求人での位置づけ

    Web のバックエンド、データ分析、AI まわりの募集でよく名前が出ます。他の言語(Java・JavaScript など)と並んで書かれることも多いです。

なぜ覚えておくと得か

  • 短い行数で動くものが作れる。思いついたことをすぐ試せるので、「作って動かして直す」の回数を増やせます。
  • 考え方は他の言語にも通用する。変数・データ型・関数・クラスという骨格は、どの言語でも共通です。最初に Python で身につけると、あとから別の言語へ移りやすくなります。
  • AI・データ分野への入り口になる。データを集めて整える仕事では、Python が書けるかどうかが前提になっている場面が少なくありません。

上の練習場でサンプルボタンを押して実行すると、右の VARIABLES に変数がどう並ぶかが見えます。name = "太郎" のような一行から試してみてください。

使い方

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

  1. 1

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

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

  2. 2

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

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

  3. 3

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

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

  4. 4

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

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

💡 初回は Pyodide(Python WASM)の読み込みに 5〜15 秒かかります。2 回目以降はキャッシュから瞬時にロード。 書いたコードと実行結果は、どこにも送信されません(すべてブラウザ内で実行)。

🌐 ただし1点だけ補足します。このページを開いただけでは外部通信は発生しませんが、 「実行」を押した最初の1回だけ、Python の実行環境(Pyodide 0.28.0)を配信元の cdn.jsdelivr.net から取得します。 これはプログラムを受け取るだけの通信で、あなたが書いたコードや実行結果が送られることはありません。 ただし通信である以上、配信元にはお使いの回線の IP アドレスが見えます。 「入力は端末から出さない」という当サイトの原則に関わる点なので、隠さずに書いておきます。

このツールについて

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

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

🔰 かんたんに言うと

プログラミング言語「Python」を、インストールなしでブラウザで動かせます。

主な機能

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

よくある質問

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 で起動します。実行ボタンを押した瞬間にロードが始まるので、初回はこの待ち時間を許容してください。

入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。

続けて整える

データの時点:各ページに記載の版(各プロジェクトの公式リリース)

データの更新予定の一覧

totonoe.tech を運営する株式会社Koinobori は、法人向けの研修サービス「NOBORIBA®」も運営しています。 ここで手を動かした内容を、講師から教わる形の研修です。このページの道具は無料のまま、登録もいりません。

運営サイト

私たちが運営するサイト