Python入門

スポンサーリンク
Python

Python | DevOps・運用:Docker network

Docker networkって何?一言でいうと「コンテナ同士をつなぐ“専用LAN”」Docker network は、コンテナ同士をつなぐための「仮想ネットワーク」です。同じネットワークに属するコン...
Python

Python | DevOps・運用:Docker volume

Docker volumeって何?一言でいうと「コンテナが消えても残る“外付けハードディスク”」Docker volume は、コンテナの外側にある「永続ストレージ」です。コンテナの中のファイルは、コ...
Python

Python | DevOps・運用:docker-compose

docker-composeって何?一言でいうと「複数コンテナを“1つのアプリ”としてまとめて起動・停止するリモコン」Docker は「1コンテナ=1プロセス」をきれいに動かすのが得意です。でも、現実...
Python

Python | DevOps・運用:Dockerfile ベストプラクティス

まずゴールを決めよう:「本番でそのまま動かせる、軽くて、安全で、再現性の高いイメージ」Dockerfile のベストプラクティスは、一言でいうと「どこでビルドしても、同じように動く、無駄が少なくて、安...
Python

Python | DevOps・運用:CD 自動デプロイ

CD 自動デプロイって何?一言でいうと「テストに通ったコードを、人の手を介さず“同じ手順で”本番に届ける仕組み」CI が「自動テスト」だとしたら、CD(Continuous Delivery / De...
Python

Python | DevOps・運用:CI 自動テスト

CI 自動テストって何?一言でいうと「人がサボっても、機械が毎回テストしてくれる仕組み」CI 自動テストは、コードを GitHub に push したり Pull Request を作ったタイミングで...
Python

Python | DevOps・運用:Issue 管理

Issue 管理って何?一言でいうと「やるべきこと・困っていることを“見える化”して、迷子をなくす仕組み」Issue 管理は、「タスク・バグ・改善点・相談ごと」をすべて Issue として記録し、整理...
Python

Python | DevOps・運用:コードレビュー運用

コードレビュー運用って何?一言でいうと「一人の頭の中のコードを、チームの知恵に変える仕組み」コードレビュー運用は、「Pull Request をどうレビューするか」を、チームとしてのルールや習慣に落と...
Python

Python | DevOps・運用:Pull Request

Pull Requestって何?一言でいうと「この変更、main に入れていいか一緒に確認してもらうための“申請書”」Pull Request(PR)は、「自分がブランチで作った変更を、main(や他...
Python

Python | DevOps・運用:GitHub Flow

GitHub Flowって何?一言でいうと「小さく枝を切って、小さくレビューして、小さく本番に出すためのルール」GitHub Flow は、「GitHub を使って開発するときの、シンプルなブランチ運...
Python

Python | テスト・設計・品質:Web アプリの本番運用

「本番運用」って何?一言でいうと「“たまたま動く”から“24時間ちゃんと動き続ける”にすること」ローカルで FastAPI や Django を動かして「動いた!」は、まだスタートラインです。本番運用...
Python

Python | テスト・設計・品質:API のモック

APIのモックって何?一言でいうと「本物の代わりに動く“テスト用の偽物サーバー”」API のモックは、「本物の外部APIを呼ばずに、その代わりをする“偽物”を用意してテストすること」です。本物のAPI...
Python

Python | テスト・設計・品質:環境変数管理

環境変数管理って何?一言でいうと「コードに書いちゃいけない“秘密と設定”を外に出してあげること」環境変数管理は、「本番・開発・テストで変わる値」や「絶対にコードに埋め込んではいけない秘密」を、コードの...
Python

Python | テスト・設計・品質:コンテナ構築

コンテナ構築って何?一言でいうと「動く箱を作るための“レシピづくり+焼き上げ”」ここでいう「コンテナ構築」は、ほぼ「Docker コンテナを作ること」と考えてOKです。レシピを書くフェーズ(Docke...
Python

Python | テスト・設計・品質:Docker

Dockerって何?一言でいうと「どこでも同じように動く“持ち運べる開発環境”」Docker は、ざっくり言うと「アプリとその周りの環境を、ひとまとめにして箱に入れて持ち運べるようにする仕組み」です。...
Python

Python | テスト・設計・品質:CD

CDって何?一言でいうと「テストが通ったら“そのまま本番まで運んでくれるベルトコンベア”」CD は大きく分けて2つあります。Continuous Delivery(継続的デリバリー)Continuou...
Python

Python | テスト・設計・品質:CI(GitHub Actions)

CI(GitHub Actions)って何?一言でいうと「プッシュした瞬間に“自動でテストしてくれるロボット”」CI(Continuous Integration)は、「コードを少し変更するたびに、自...
Python

Python | テスト・設計・品質:フォルダ構成標準化

フォルダ構成標準化って何?一言でいうと「どのプロジェクトでも迷子にならないための地図づくり」フォルダ構成標準化は、「Pythonプロジェクトのフォルダやファイルの置き方に、共通ルールを決めること」です...
Python

Python | テスト・設計・品質:例外階層

例外階層って何?一言でいうと「エラーを“種類ごとに整理する”ための仕組み」例外階層(Exception Hierarchy)は、「エラーを種類ごとに分類して、親子関係で整理する」ための設計です。Pyt...
Python

Python | テスト・設計・品質:ロギング設計

ロギング設計って何?一言でいうと「あとから原因を追えるように“足跡”を設計すること」ロギング設計は、「エラーが起きたとき・おかしな動きをしたときに、あとから原因を追えるように、どこで何を記録しておくか...
Python

Python | テスト・設計・品質:REST 設計

REST設計って何?一言でいうと「URLとHTTPを“きれいなルール”で使う設計」REST 設計は、Web API を作るときに、URLHTTPメソッド(GET / POST / PUT / PATC...
Python

Python | テスト・設計・品質:API 設計

API設計って何?一言でいうと「他人(未来の自分)が使いやすい“入口”を設計すること」ここでいう「API」は、Web API だけじゃなく、「関数・クラス・モジュールの“使い方の顔”」も含めた広い意味...
Python

Python | テスト・設計・品質:interface 分離

interface分離って何?一言でいうと「いらないボタンを押させないようにする設計」interface 分離(インターフェース分離の原則 / Interface Segregation Princi...
Python

Python | テスト・設計・品質:責務定義

「責務定義」って何?一言でいうと「この子は何を担当するのかを決めること」責務定義は、クラス・関数・モジュールなどに対して「あなたは何を担当するのか?」をはっきり決めることです。もっと砕くと、「このコー...
Python

Python | テスト・設計・品質:モジュール分割

モジュール分割って何?一言でいうと「ファイルごとに役割をはっきり分けること」Python でいう「モジュール分割」は、コードを複数の .py ファイルに分けて、それぞれに「はっきりした役割」を持たせる...
Python

Python | テスト・設計・品質:ドメイン駆動設計

ドメイン駆動設計って何?一言でいうと「現実のルールをコードの中心に置く考え方」ドメイン駆動設計(DDD)は、「フレームワークやDBの都合ではなく、“現実世界のルール”を中心にコードを組み立てよう」とい...
Python

Python | テスト・設計・品質:クリーンアーキテクチャ

クリーンアーキテクチャって何?一言でいうと「大事なものを真ん中に守る設計」クリーンアーキテクチャは、アプリケーションの「大事なルール(ビジネスロジック)」を、外側の技術的なもの(Web フレームワーク...
Python

Python | テスト・設計・品質:リファクタリング

リファクタリングって何?一言でいうと「動きを変えずに中身だけキレイにする」リファクタリングは、「コードの外から見た振る舞い(仕様・動き)は変えずに、中身の構造だけを良くすること」です。バグ修正でも新機...
Python

Python | テスト・設計・品質:mypy

mypyって何?一言でいうと「Pythonコードに“型のテスト”をかけるツール」mypy は、Python コードに書いた「型ヒント(type hints)」を読み取って、その使い方が矛盾していないか...
Python

Python | テスト・設計・品質:TypedDict

TypedDictって何?一言でいうと「キー付き辞書に“型の設計図”を付けるもの」TypedDict は、「この辞書は、こういうキーを持っていて、それぞれの値はこういう型です」という“設計図”を型ヒン...
Python

Python | テスト・設計・品質:Protocol

Protocolって何?一言でいうと「“こう振る舞うもの”を型で表す」Protocol は、型ヒントの世界で「このオブジェクトは、こういうメソッドや属性を“持っているもの”として扱える」という“振る舞...
Python

Python | テスト・設計・品質:Literal

Literalって何?一言でいうと「値そのものを型にする」Literal は、型ヒントの世界で「この引数(または値)は、この“決まった値”しか受け付けません」と表現するための道具です。普通の型ヒントは...
Python

Python | テスト・設計・品質:Union

Unionって何?一言でいうと「型の“どれか”を許すための道具」Union は、型ヒントの世界で「この値は、A か B か C のどれかです」と表現するための仕組みです。形式的にはこうです。from ...
Python

Python | テスト・設計・品質:Optional

Optionalって何?一言でいうと「Noneかもしれない」を型で表す道具Optional は、型ヒントの世界で「この値は、あるときは T 型だけど、ないときは None かもしれない」という状態を表...
Python

Python | テスト・設計・品質:typing 型ヒント

型ヒントって何?まずは「コメント」だと思ってOKPython の「型ヒント(type hints)」は、「この変数や関数は、こういう型を想定しているよ」という情報を、コードの中に書き添える仕組みです。...
Python

Python | テスト・設計・品質:isort

isortって何?まずは役割を一言でつかむisort は、Python の import 文を自動で並び替えてくれるツールです。「import の順番なんてどうでもよくない?」と思うかもしれませんが、...
Python

Python | テスト・設計・品質:ruff

ruffって何?一言でいうと「超高速オールインワンLint&フォーマッタ」ruff は、Python のコードをチェックするための「超高速リンター兼フォーマッタ」です。flake8 や isort、部...
Python

Python | テスト・設計・品質:black

blackって何?一言でいうと「コード自動整形マシーン」black は、Python のコードを「自動できれいな形に整えてくれるフォーマッタ」です。flake8 が「ここおかしいよ」と指摘する先生だと...
Python

Python | テスト・設計・品質:flake8

flake8 って何?一言でいうと「コードの赤ペン先生」flake8 は、Python のコードを自動でチェックしてくれる「リンター(Linter)」です。「文法的には動くけど、読みづらい・バグの元に...
Python

Python | テスト・設計・品質:コードレビュー

コードレビューって何?まずは目的からはっきりさせるコードレビューは、「他の人(または未来の自分)が、あなたの書いたコードを読んで、気づいたことをフィードバックするプロセス」です。バグを見つけるため読み...
Python

Python | テスト・設計・品質:カバレッジ

カバレッジって何?まずは一言でイメージをつかむテストの「カバレッジ(coverage)」は、「テストを実行したときに、あなたのコードのどこまでが実際に実行されたか」を数値で教えてくれる指標です。ざっく...
Python

Python | テスト・設計・品質:E2E テスト

E2E テストって何?まずはざっくりイメージからE2E テスト(End-to-End テスト)は、「ユーザーの操作の始まりから終わりまで、システム全体を通して動かして確認するテスト」です。単体テスト関...
Python

Python | テスト・設計・品質:結合テスト

結合テストって何?単体テストとの違いからつかむ結合テスト(integration test)は、「複数の部品(関数・クラス・モジュール)を“つなげた状態”で、ちゃんと一緒に動くかを確認するテスト」です...
Python

Python | テスト・設計・品質:単体テスト

単体テストって何?まずはゴールのイメージから単体テスト(ユニットテスト)は、「プログラムを小さな“部品(ユニット)”ごとに分けて、その部品がちゃんと動くかを確認するテスト」です。ここでいう“部品”は、...
Python

Python | テスト・設計・品質:monkeypatch

monkeypatch って何?mock とどう違うのかpytest の monkeypatch は、「テスト中だけ、モジュールやオブジェクトの属性を書き換えるための道具」です。やりたいことは moc...
Python

Python | テスト・設計・品質:mock

mock って何?まずはイメージからmock(モック)は、テストのときだけ「本物の代わりに振る舞うニセモノのオブジェクト」です。本物をそのまま使うと困る場面を想像してみてください。外部 API を叩く...
Python

Python | テスト・設計・品質:パラメタライズ

パラメタライズって何?まずはイメージからpytest の「パラメタライズ(parametrize)」は、「同じテストの形で、入力と期待値だけを変えて、何パターンも一気にテストする仕組み」です。同じ関数...
Python

Python | テスト・設計・品質:fixture

fixture って何?まずはイメージからpytest の fixture(フィクスチャ)は、「テストのたびに必要になる“準備”を、共通化して再利用する仕組み」です。毎回のテストで同じようなことをして...
Python

Python | テスト・設計・品質:assert

assert って何?まずは一言でいうとassert は、「この条件が成り立っているはずだ」とコードに書いておくための仕組みです。成り立っていれば何も起きない。成り立っていなければ Assertion...
Python

Python | テスト・設計・品質:pytest 基本

pytest って何?まずはゴールのイメージからpytest は、Python のテストを書くための「超定番ツール」です。一言でいうと、テスト用のファイルと関数を書いておくpytest コマンドを叩く...
Python

Python | DB・SQL:DB 設計

DB 設計って何?まずはゴールのイメージからDB 設計は、「アプリで扱う情報を、テーブル・カラム・関係に分解して、矛盾なく・拡張しやすく・速く扱える形にする作業」です。言い換えると、「現実の世界(ユー...
Python

Python | DB・SQL:接続プール

接続プールって何?まずはイメージから接続プール(コネクションプール)は、「データベースへの接続を、使い回すための“待機列(プール)”」です。DB への接続は、実はかなり重い処理です。毎回「接続を開く ...
Python

Python | DB・SQL:N+1 問題

N+1 問題って何?まずはざっくりイメージN+1 問題は、「本当は少ない回数のクエリで済むのに、気づかないうちに大量のクエリを投げてしまっている状態」のことです。特に多いのが、1 回目のクエリで「親デ...
Python

Python | DB・SQL:パフォーマンス

「パフォーマンス」って何?まずは感覚からDB・SQL の「パフォーマンス」は、ざっくり言うと「どれくらい速く・無駄なく・安定して動くか」です。同じ結果を出すクエリでも、1 秒で終わる書き方1 分かかる...
Python

Python | DB・SQL:バルク処理

バルク処理って何?まずはイメージからバルク処理(バルク INSERT / バルク UPDATE など)は、「大量のデータをまとめて一気に処理する」やり方のことです。1 行ずつチマチマ INSERT す...
Python

Python | DB・SQL:migration

migration って何?まずはイメージからmigration(マイグレーション)は、「データベースの“形”(テーブルやカラムの構造)を、コードでバージョン管理して、少しずつ進化させていく仕組み」で...
Python

Python | DB・SQL:relationship

relationship って何?まずはイメージからSQLAlchemy の relationship は、「テーブル同士のつながり(リレーション)を、Python のオブジェクト同士のつながりとして...
Python

Python | DB・SQL:join

join って何?まずはイメージからJOIN は、「別々のテーブルに分かれている情報を、くっつけて一つの表として見る」ための仕組みです。現実のアプリでは、ユーザー情報と注文情報、商品情報とカテゴリ情報...
Python

Python | DB・SQL:CRUD

CRUD って何?まずは全体像からCRUD(クラッド)は、データベース操作の基本 4 セットの頭文字です。Create(作る)、Read(読む)、Update(更新する)、Delete(削除する)。ア...
Python

Python | DB・SQL:セッション

セッションって何?まずはざっくりイメージ「セッション」は、データベースとやり取りするときの「ひとまとまりの会話」のようなものです。Python から見ると、あるタイミングで DB との“窓口”を開くそ...
Python

Python | DB・SQL:ORM モデル

ORM モデルって何?まずはイメージから「ORM モデル」は、データベースのテーブルを「Python のクラスとして表現したもの」です。ORM は Object Relational Mapping(...
Python

Python | DB・SQL:SQLAlchemy 基本

SQLAlchemy って何者?ざっくりイメージSQLAlchemy は、「Python からデータベースを触るための超定番ライブラリ」です。一言でいうと、SQL を直接書く代わりに、Python の...
Python

Python | DB・SQL:SQLite

SQLite ってそもそも何者?SQLite(エスキューライト)は、「組み込み型」のリレーショナルデータベースです。PostgreSQL や MySQL みたいに「サーバーを立てて接続するタイプ」では...
Python

Python | DB・SQL:PostgreSQL

PostgreSQL ってそもそも何者?PostgreSQL(ポストグレスキューエル)は、オープンソースのリレーショナルデータベース管理システム(RDBMS)です。「無料で使えるのに、企業の本番システ...
Python

Python | DB・SQL:ACID

概要(ACID は「ちゃんとしたトランザクション」の 4 つの約束)ACID は、データベースのトランザクションが「ちゃんとしている」ことを表す 4 つの性質の頭文字です。Atomicity(原子性)...
Python

Python | DB・SQL:トランザクション

概要(トランザクションは「一連の処理を、成功か失敗かで丸ごと扱う仕組み」)トランザクションは、データベースに対して行う「一連の処理」を、「全部まとめて成功」か「全部なかったことにする(失敗)」かのどち...
Python

Python | DB・SQL:インデックス

概要(インデックスは「データベースの辞書の“索引”」)インデックス(index)は、データベースにとっての「本の索引」です。本の後ろにある五十音順の索引があると、目的の用語のページを一瞬で開けますよね...
Python

Python | DB・SQL:サブクエリ

概要(サブクエリ=「SQL の中にもう一個 SQL を入れる」)サブクエリは、「SQL 文の中に、さらに別の SQL 文(小さな SELECT)を入れるテクニック」です。イメージとしては、一回クエリを...
Python

Python | DB・SQL:JOIN

概要(JOIN は「バラバラの表をつないで、1 枚の結果にする」)JOIN は、SQL の中でも「一段レベルが上がった感じ」がするところですが、本質はとてもシンプルで、「関連する 2 つ以上のテーブル...
Python

Python | DB・SQL:HAVING

概要(HAVING は「集計結果に対する WHERE」だと思うと分かりやすい)HAVING は、SQL の中でも「ちょっとだけ上級者向け」に見える句ですが、本質はシンプルで、「GROUP BY でグル...
Python

Python | DB・SQL:GROUP BY

概要(GROUP BY は「グループごとにまとめて計算する」ためのスイッチ)GROUP BY は、SQL で「グループごとに集計する」ための仕組みです。「ユーザーごとの合計金額」「日付ごとの件数」「科...
Python

Python | DB・SQL:ORDER

概要(ORDER BY は「結果の並び順を決めるスイッチ」)SQL の ORDER BY 句は、SELECT で取り出した結果を「どんな順番で並べるか」を指定するための仕組みです。「年齢の若い順に」「...
Python

Python | DB・SQL:WHERE

概要(WHERE は「どの行だけを相手にするか」を決めるフィルター)SQL の WHERE 句は、テーブルの中から「どの行だけを対象にするか」を決めるフィルターです。SELECT だけでなく、UPDA...
Python

Python | DB・SQL:SELECT

概要(SELECT は「欲しいデータだけを取り出すコマンド」)SQL の SELECT 文は、データベースから「欲しいデータだけ」を取り出すためのコマンドです。Excel の表から「この列だけ見たい」...
Python

Python | DB・SQL:SQL 基本

概要(SQL は「データベースに話しかける言語」)SQL(エスキューエル)は、データベースに対して「これして」「あれして」と命令を出すための言語です。Excel の表をもっと厳密にしたものが「テーブル...
Python

Python | Web フレームワーク:バックエンド設計

概要(バックエンド設計=「見えないところの“筋肉と血管”を設計すること」)バックエンド設計は、「画面に見えないところで、アプリをちゃんと動かすための仕組みをどう組み立てるか」を考える作業です。どんなデ...
Python

Python | Web フレームワーク:API 実践

概要(API 実践=「画面なしでデータをやり取りする Web アプリ」)API 実践は、「ブラウザに HTML を返す」のではなく、「プログラム同士がデータをやり取りする窓口」を作る練習です。Djan...
Python

Python | Web フレームワーク:Web アプリ実践

概要(「Web アプリ実践」は“全部をつなげて動かす”フェーズ)ここまでで、Django のモデル・ビュー・URL・テンプレート・認証・セッション・設定・分割構造など、部品ごとの話をかなり見てきました...
Python

Python | Web フレームワーク:Django の分割構造

概要(Django の分割構造=「大きな家を部屋ごとに区切る設計」)Django の「分割構造」は、一言でいうと「プロジェクト全体を、役割ごと・機能ごとにきれいに分ける仕組み」です。一番大きな単位が「...
Python

Python | Web フレームワーク:Django 設定

概要(Django 設定=「プロジェクト全体のルールブック」)Django の設定(settings.py)は、「このプロジェクトは、どんなルールで動くのか」を一箇所にまとめたファイルです。どのアプリ...
Python

Python | Web フレームワーク:Django セッション

概要(Django セッション=「ブラウザごとの“一時的な記憶領域”」)Django のセッションは、「このブラウザは、前回どんな状態だったか」をサーバー側に覚えておくための仕組みです。ログイン状態カ...
Python

Python | Web フレームワーク:Django 認証

概要(Django 認証=「ユーザーを識別して、ログイン状態を管理する仕組み」)Django 認証は、「このリクエストを送ってきたのは誰か」「その人はログイン済みか」「その人にこの操作をさせてよいか」...
Python

Python | Web フレームワーク:Django migration

概要(Django migration=「モデルの変更履歴を DB に安全に反映する仕組み」)Django の migration(マイグレーション)は、一言でいうと、「models.py の変更を、...
Python

Python | Web フレームワーク:Django ORM

概要(Django ORM=「SQL を書かずに DB を触るための翻訳レイヤー」)Django ORM は、「データベース(SQL の世界)」と「Python オブジェクト(クラスとインスタンスの世...
Python

Python | Web フレームワーク:URLconf

概要(URLconf=「URL とビューを結びつける交通整理係」)Django の URLconf(URL configuration)は、「どの URL にアクセスされたときに、どのビューを呼ぶか」...
Python

Python | Web フレームワーク:Django REST Framework

概要(Django REST Framework=「Django で API を作るためのフル装備セット」)Django REST Framework(DRF)は、「Django を使って、ブラウザで...
Python

Python | Web フレームワーク:Django 管理画面

概要(Django 管理画面=「DB をブラウザからいじれる最強の裏口」)Django 管理画面(Django admin)は、「自分で管理用の画面を作らなくても、モデルを登録するだけでブラウザからデ...
Python

Python | Web フレームワーク:Django のフォーム

概要(Django のフォーム=「入力フォームとバリデーションをまとめて面倒見てくれる仕組み」)Django のフォームは、「HTML フォームの入力項目」と「その値のチェック(バリデーション)」と「...
Python

Python | Web フレームワーク:Django のテンプレート

概要(Django のテンプレート=「HTML にデータを流し込む仕組み」)Django のテンプレートは、「HTML のひな型(型)をあらかじめ用意しておいて、ビューから渡されたデータをそこに流し込...
Python

Python | Web フレームワーク:Django のビュー

概要(Django のビュー=「URL ごとに何を返すかを決める場所」)Django の「ビュー」は、「この URL にアクセスされたら、どんな処理をして、どんなレスポンスを返すか」を決める場所です。...
Python

Python | Web フレームワーク:Django のモデル

概要(Django のモデル=「DBテーブルを Python クラスとして扱う仕組み」)Django の「モデル」は一言でいうと、「データベースのテーブルを、Python のクラスとして表現したもの」...
Python

Python | Web フレームワーク:テンプレート(Jinja2)

概要(テンプレート=「HTML の型にデータを流し込む仕組み」)テンプレート(Jinja2)は一言でいうと、「HTML のひな型(型)をあらかじめ用意しておいて、Python のデータをそこに流し込ん...
Python

Python | Web フレームワーク:ドキュメント UI

概要(ドキュメント UI=「API 仕様書をブラウザで触れる画面」にしたもの)ドキュメント UI は、「API の仕様を、人間がブラウザ上で見たり、その場で試したりできる画面」のことです。FastAP...
Python

Python | Web フレームワーク:OpenAPI

概要(OpenAPI=「API の設計図を機械と人間で共有するためのフォーマット」)OpenAPI は、「この Web API は、どんな URL があって、どんな入力を受け取り、どんなレスポンスを返...
Python

Python | Web フレームワーク:静的ファイル

概要(静的ファイル=「ただ置いておくだけで中身が変わらないファイル」)静的ファイルは、「サーバー側で中身を計算したり書き換えたりせず、そのままブラウザに渡すだけのファイル」のことです。具体的には、よく...
Python

Python | Web フレームワーク:背景タスク

概要(背景タスク=「レスポンスの後で、裏でこっそり動く仕事」)背景タスクは、「HTTP レスポンスはすぐ返したいけど、そのあとにやりたい処理がまだ残っている」ときに使う仕組みです。例えば、ログを外部サ...
Python

Python | Web フレームワーク:CORS

概要(CORS は「別ドメインからの JS リクエストを許可するルール」)CORS(Cross-Origin Resource Sharing)は、「ブラウザ上の JavaScript が、別のドメイ...
Python

Python | Web フレームワーク:Cookie

概要(Cookie=「ブラウザ側にそっと置くメモ」)Cookie は一言でいうと、「サーバーがブラウザにそっと渡して、ブラウザ側に保存してもらう小さなメモ」です。ブラウザは、そのメモ(Cookie)を...
Python

Python | Web フレームワーク:認証(Bearer)

概要(Bearer 認証=「トークンを見せて通る入館証チェック」)Bearer 認証は、「HTTP ヘッダに“トークン”を入れて送り、サーバー側がそのトークンを確認して OK なら処理を続行する」とい...
Python

Python | Web フレームワーク:ミドルウェア

概要(ミドルウェア=「リクエストが通る廊下に置く共通処理」)ミドルウェアは一言でいうと、「すべてのリクエスト/レスポンスが必ず通る“共通の廊下”に共通処理を差し込むための仕組み」です。各エンドポイント...
Python

Python | Web フレームワーク:例外ハンドラ

概要(例外ハンドラは「エラーを受け止めて整える役」)例外ハンドラは、「アプリの中で投げられた例外をキャッチして、クライアントに返す“きれいなエラーレスポンス”に変換する仕組み」です。Python で普...
Python

Python | Web フレームワーク:エラー処理

概要(Web のエラー処理は「こけ方」をデザインすること)Web フレームワークのエラー処理は、「何かがおかしくなったときに、アプリがどう“こけるか”をきちんと決めておくこと」です。エラーは必ず起きま...
Python

Python | Web フレームワーク:レスポンスモデル

概要(レスポンスモデルは「返していい形の“ふるい”」)レスポンスモデルは、「この API は、こういう形・こういう型の JSON を“返す”はずだ」という“約束(スキーマ)”をコードで表現したものです...
Python

Python | Web フレームワーク:バリデーション

概要(バリデーション=「変な値は中に入れない門番」)バリデーションは、「外から送られてきた値が、想定どおりかチェックして、おかしければ入口で止める」仕組みです。Web フレームワーク(FastAPI ...
Python

Python | Web フレームワーク:Pydantic モデル

概要(Pydantic モデル=「型付きのデータの入れ物+自動チェックマン」)Pydantic モデルは一言でいうと、「型ヒントをちゃんと書くだけで、その形どおりにデータをチェックしてくれる“賢いデー...
Python

Python | Web フレームワーク:リクエストモデル

概要(リクエストモデルは「リクエストの設計図」)リクエストモデルは、「クライアントから送られてくる JSON が、どんな形・どんな型をしているべきかを表した“設計図”」です。FastAPI(+Pyda...
Python

Python | Web フレームワーク:クエリパラメータ

概要(クエリパラメータ=「URLの後ろにくっつく条件・オプション」)クエリパラメータは、/search?keyword=python&limit=10 の?keyword=python&limit=1...
Python

Python | Web フレームワーク:パスパラメータ

概要(パスパラメータ=「URLの中の変数」)パスパラメータは、/users/123 の「123」/items/abc の「abc」のように、URL の一部を「変数」として受け取る仕組みです。Web フ...
Python

Python | Web フレームワーク:ルーティング

概要(ルーティングは「URL → 関数」の地図づくり)ルーティングは、「どのURLにアクセスされたら、どの関数(処理)を動かすか」を決める仕組みです。Webフレームワーク(FastAPI / Flas...
Python

Python | Web フレームワーク:FastAPI 基本

概要(FastAPI は「型付きの超書きやすい Web API フレームワーク」)FastAPI は、「Python で Web API を作るためのフレームワーク」です。特徴を一言でまとめると、型ヒ...
Python

Python | 自動化:Python アプリ構造化

概要(「1ファイル地獄」から抜け出して、“小さな部品の集まり”にする)Python アプリ構造化というのは、「全部 main.py に書きなぐる」のをやめて、「役割ごとにファイルやフォルダを分けて、部...
Python

Python | 自動化:設定ファイル(YAML)

概要(設定ファイル=「コードの外に出したルール表」)設定ファイル(YAML)は、「スクリプトの中にベタ書きしていた値(パス・日付・URL・モードなど)を、コードの外に出しておくための“ルール表”」だと...
Python

Python | 自動化:argparse

概要(argparse は「コマンドライン引数をちゃんと扱うための道具」)argparse は、python script.py input.csv output.csv --date 2025-01...
Python

Python | 自動化:CLI ツール作成

概要(CLI ツールは「自分専用コマンドを作る」こと)CLI ツール作成は、「python script.py」を叩く世界から一歩進んで、mytool fetch --date 2025-01-01r...
Python

Python | 自動化:Teams 通知

概要(Teams 通知は「Python からチャネルにメッセージを飛ばす」技)Teams 通知は、「Python のスクリプトから、Microsoft Teams のチャンネルに自動でメッセージを送る...
Python

Python | 自動化:Slack 通知

概要(Slack 通知は「コードからチャンネルにしゃべらせる」技)Slack 通知は、「Python のスクリプトが、自動で Slack のチャンネルにメッセージを送る仕組み」です。自動化と組み合わせ...
Python

Python | 自動化:エラー通知

概要(エラー通知は「落ちたことを人間に伝える仕組み」)エラー通知は、「プログラムがコケた瞬間に、人間がちゃんと気づけるようにする仕組み」です。例外ログは「証拠を残す」もので、エラー通知は「誰かに知らせ...
Python

Python | 自動化:例外ログ

概要(例外ログは「エラーの証拠を残すブラックボックスレコーダー」)例外ログは、「エラーが起きた“瞬間の情報”を、その場で消えずに後から見返せるように残しておく仕組み」です。プログラムは、一瞬で例外を投...
Python

Python | 自動化:バルク処理

概要(バルク処理は「チマチマやらずにまとめてやる」技)バルク処理(bulk processing)は、ざっくり言うと「1件ずつチマチマ処理するのではなく、まとめてガッと処理することで速く・安定して・無...
Python

Python | 自動化:リトライ処理

概要(リトライ処理は「一度コケても、もう一歩だけ踏み込む仕組み」)リトライ処理は、「一回失敗したからといって、すぐ諦めずに“もう一度やってみる”仕組み」です。特に自動化では、ネットワークが一瞬だけ不安...
Python

Python | 自動化:タイムアウト処理

概要(タイムアウト処理は「いつまでも待たない」ための保険)タイムアウト処理は、「相手(外部サービス・コマンド・ファイル処理など)がいつまでたっても返事してこないときに、一定時間で“もう待つのをやめる”...
Python

Python | 自動化:コルーチン

概要(コルーチンは「途中で一旦止まって、あとで再開できる関数」)コルーチン(coroutine)は、めちゃくちゃざっくり言うと「自分の途中経過(状態)を持ったまま、一旦止まって、あとでそこから再開でき...
Python

Python | 自動化:await / async

概要(async / await は「同時進行のための文法」)async / await は、「Python に“ここは待ち時間だから、その間ほかの仕事をしていいよ”と伝えるための文法」です。asyn...
Python

Python | 自動化:aiohttp

概要(aiohttp は「非同期版 requests」だと思うと入りやすい)aiohttp は、「asyncio と一緒に使うための HTTP クライアントライブラリ」です。雑に言うと、request...
Python

Python | 自動化:非同期 asyncio

概要(asyncio は「1人で同時進行する」仕組み)マルチスレッドやマルチプロセスは「人を増やす」イメージでした。asyncio はちょっと違っていて、「1人なんだけど、待ち時間のあいだに別の作業に...
Python

Python | 自動化:concurrent.futures

概要(concurrent.futures は「並列処理をいい感じにラップしてくれる道具」)concurrent.futures は、「マルチスレッド」「マルチプロセス」を、初心者でも扱いやすい形にし...
Python

Python | 自動化:マルチプロセス

概要(マルチプロセスは「CPUを増やしてゴリゴリ計算させる」仕組み)前回のマルチスレッドは「待ち時間のあいだに別の仕事をする」話でした。マルチプロセスはもう一歩踏み込んで、「CPU のコアをフルに使っ...
Python

Python | 自動化:マルチスレッド

概要(マルチスレッドは「待ち時間のあいだに、別の仕事を回す」仕組み)Python のマルチスレッドは、「1つのプログラムの中で、複数の“流れ(スレッド)”を同時進行させる」仕組みです。自動化の世界だと...
Python

Python | 自動化:Web API 集計 BOT

概要(Web API 集計 BOT は「データを取って、すぐに意味のある形にするロボット」)Web API 集計 BOT は、単なる「データ収集 BOT」から一歩進んで、「取ってきたデータをその場で集...
Python

Python | 自動化:データ収集 BOT

概要(データ収集BOTは「決まった場所から、決まった情報を黙々と集めてくれるロボット」)データ収集 BOT は、「毎日このサイトの価格をチェック」「このAPIから定期的にデータを取得」といった“繰り返...
Python

Python | 自動化:Selenium ログイン自動化

概要(Selenium ログイン自動化は「ブラウザ操作を人間の代わりにやらせる」)Selenium は「ブラウザをコードで操作するロボット」です。URL を開く、ID・パスワードを入力する、ボタンをク...
Python

Python | 自動化:ファイル変換自動化

概要(「○○を置いたら自動で△△に変換」を型にする)ファイル変換自動化は、「特定のフォルダにファイルを置くだけで、Python が自動で別形式に変えてくれる」仕組みです。例えば、Excel → CSV...
Python

Python | 自動化:PDF 自動生成

概要(PDF自動生成は「レポートや帳票を押印前まで自動で作る」)Python で PDF 自動生成ができると、こんなことができます。日次・月次レポートを PDF で自動出力見積書・請求書・領収書などの...
Python

Python | 自動化:Excel レポート自動作成

概要(「決まった Excel レポート」を毎回ボタン一発にする)Excel レポート自動作成は、「毎月・毎週・毎日、ほぼ同じレイアウトの Excel を作る仕事」をPython に肩代わりさせることで...
Python

Python | 自動化:CSV のクリーニング

概要(CSV のクリーニングは「人力のチェックを Python に任せる」作業)CSV のクリーニングは、ざっくり言うと余計な空白や文字の揺れを揃える数値・日付をちゃんと数値・日付として扱えるように直...
Python

Python | 自動化:API 定期取得

概要(API定期取得は「決まった時間にデータを取りに行くロボット」)API定期取得は、「毎朝9時にレポートAPIを叩く」「10分ごとにセンサーAPIから値を取る」といった処理を Python で自動実...
Python

Python | 自動化:Python バッチ

概要(「決まった処理をまとめてやるスクリプト」がバッチ)ここで言う「Pythonバッチ」は、「人がボタンを押さなくても、決まった処理をまとめて実行するスクリプト」のことです。例えば、毎朝こんなことを勝...
Python

Python | 自動化:cron / タスクスケジューラ

概要(「決まった時間にPythonを勝手に動かす」仕組み)cron(Linux / Mac)やタスクスケジューラ(Windows)は、「毎朝9時にこのPythonスクリプトを実行して」「1時間ごとに定...
Python

Python | 自動化:フォルダ監視

概要(フォルダ監視は「ファイルが増えた瞬間に自動で動く仕組み」)フォルダ監視は、「あるフォルダにファイルが置かれたら、自動で処理を走らせる」ための仕組みです。例としては、ダウンロードフォルダにPDFが...
Python

Python | 自動化:Excel テンプレ自動集計

概要(「決まったExcel」ならPythonで一気に集計できる)毎月・毎店舗・毎担当者から、同じ形式のExcelが集まってきて、それを手でコピペして集計していませんか。「テンプレが決まっているExce...
Python

Python | データ処理:pandas のインデックス管理

概要(インデックス管理は「行ラベルを設計して、選択・結合・時系列操作を安定化」する)pandasのインデックスは“行のラベル”です。単なる番号ではなく、選択(loc)、結合(join/merge)、並...
Python

Python | データ処理:pandas の join

概要(pandas の join は「インデックスで横に結合」する最短ルート)DataFrame.join は、“インデックス”をキーにして横方向(列を増やす)へ結合します。SQL の JOIN に似...
Python

Python | データ処理:フィルタリング

概要(フィルタリングは「欲しい行だけを、短く正確に抜く」ための基本)pandasのフィルタリングは、条件式でTrue/Falseのマスクを作り、Trueの行だけを抽出するのが基本形です。重要なのは「ブ...
Python

Python | データ処理:欠損値可視化

概要(欠損値可視化は「どこで、どれだけ、どう偏っているか」を一目で掴むための入口)欠損値は“壊れたデータ”ではなく“情報が抜けている状態”です。可視化の目的は、列ごとの欠損量、行方向の偏り(特定期間・...
Python

Python | データ処理:正規化

概要(正規化は「値の範囲を揃えて比較・学習を安定化」する前処理)正規化(Normalization)は、特徴量の値を一定の範囲にスケーリングする処理です。最も基本的な手法は Min–Max 正規化で、...
Python

Python | データ処理:データの標準化

概要(標準化は「平均0・標準偏差1」に揃えて、比較と学習を安定させる)データの標準化(Standardization)は、各特徴量を平均0・標準偏差1に変換する処理です。スケールが揃うことで、距離や勾...
Python

Python | データ処理:行列計算

概要(行列計算は「配列の形をそろえて、演算子と線形代数APIに載せる」)NumPyの行列計算は、2次元配列(ndarray)を使って加算・減算・要素積・行列積・転置・逆行列・行列式・固有値・連立方程式...
Python

Python | データ処理:ベクトル演算

概要(ベクトル演算は「配列同士を一発で計算」できる最短ルート)NumPyのベクトル演算は、forループを使わずに配列(一次元配列=ベクトル)をまとめて計算します。足し算・引き算・要素ごとの掛け算、内積...
Python

Python | データ処理:配列計算の高速化

概要(配列計算の高速化は「Pythonのループを捨て、NumPyのベクトル化へ乗り換える」)配列計算の高速化の要は、NumPy配列(ndarray)に処理を寄せることです。Pythonのforループや...
Python

Python | データ処理:numpy random

概要(numpy randomは「乱数で“試す・検証する・生成する”」ための基礎道具)NumPyの乱数は、データのシミュレーション、重みの初期化、サンプリング、シャッフル、ノイズ付与などに使います。初...
Python

Python | データ処理:グラフの保存

概要(グラフの保存は「見せたい品質で出力」を実現する最後の一歩)matplotlib(pandasのplotの裏側)なら、画像形式や解像度、余白、透明背景などを細かく制御して保存できます。初心者は「f...
Python

Python | データ処理:複数グラフの描画

概要(複数グラフは「比較」と「文脈」を一枚で伝えるための基本スキル)複数グラフの描画は、指標の関係や推移を“並べて”見せることで理解を一気に深めます。pandasとmatplotlibを使えば、サブプ...
Python

Python | データ処理:ヒートマップ

概要(ヒートマップは「2次元の表を色で読み解く」最短ルート)ヒートマップは、2次元の数値テーブルを色の濃淡で表現するグラフです。相関(どの列同士が関係強い?)、クロス集計(店舗×月の売上)、時系列のパ...
Python

Python | データ処理:ヒストグラム

概要(ヒストグラムは「値の分布」を一目でつかむための入口)ヒストグラムは、数値データを区間(ビン)に分け、各区間に何件入ったかを棒で表すグラフです。平均や中央値では見えない「偏り」「裾の重さ」「外れ値...
Python

Python | データ処理:散布図

概要(散布図は「2つの変数の関係」を直感で掴むための基本グラフ)散布図は、横軸にX(説明変数)、縦軸にY(目的変数)を置き、各行を点としてプロットします。点の並びから、正の相関・負の相関・無相関、外れ...
Python

Python | データ処理:棒+折れ線

概要(棒+折れ線は「量と推移」を一枚で伝える定番の複合グラフ)棒グラフは“量”の比較、折れ線グラフは“推移”や“傾向”の読み取りに向いています。2つを重ねることで「月別売上の量(棒)とユーザー数の推移...
Python

Python | データ処理:グラフの複合化

概要(グラフの複合化は「一枚で複数の視点」を重ねて伝える技)pandasとmatplotlibを組み合わせると、折れ線と棒グラフの重ね合わせ、二重軸、複数サブプロットなどを簡潔に作れます。複合化のポイ...
Python

Python | データ処理:時系列処理の基礎

概要(時系列の“型”を整えて、時間軸で正しく集計・解析する)時系列処理の基礎は、日付や時刻をdatetime型へ変換し、時間順に並べてから「期間集計」「移動統計」「シフトや差分」などの操作を行うことで...
Python

Python | データ処理:rolling

概要(rollingは「直近の一定区間で連続計算する」ための移動窓)pandasのrollingは、直近N件や一定時間幅(例:過去7日など)のデータを“窓”として切り出し、その窓ごとに平均・合計・標準...
Python

Python | データ処理:resample

概要(resampleは「時系列の頻度を変えて、期間ごとに集計・補間する」)pandasのresampleは、時系列データを別の時間間隔(例:日→週、分→時)へ変換するためのメソッドです。ダウンサンプ...
Python

Python | データ処理:datetime 変換

概要(datetime変換は「文字列の日付を“時系列のエンジン”に乗せる最初の一歩」)pandasで日付・時刻を扱うときは、まず文字列をdatetime型へ変換します。datetimeにしておくと、並...
Python

Python | データ処理:dtype

概要(dtypeは「列の型」。正しく揃えると計算・集計・可視化が安定する)pandasのdtype(データ型)は、各列が「数値・文字列・日時・真偽値・カテゴリなどのどれか」を表すラベルです。型がズレて...
Python

Python | データ処理:describe

概要(describeは「列ごとの要約統計を一瞬で確認する」入口)pandasのdescribeは、数値列やカテゴリ列の“基本統計”をまとめて表示するメソッドです。数値なら件数・平均・標準偏差・最小/...
Python

Python | データ処理:ソート sort_values

概要(sort_valuesは「列の値で並べ替えて“見やすく・計算しやすく”する基本操作)pandasのsort_valuesは、指定した列の値を基準にDataFrameを並べ替えるメソッドです。昇順...
Python

Python | データ処理:重複 drop_duplicates

概要(drop_duplicatesは「重複行を安全に取り除いて、件数や集計を正しくする」)pandasのdrop_duplicatesは、DataFrameやSeriesから“重複したデータ”を削除...
Python

Python | データ処理:欠損値 fillna

概要(fillnaは「欠損値を意図した値で埋めて分析を続行する」ための入口)pandasのfillnaは、DataFrameやSeriesに含まれる欠損値(NaN/None/pd.NA)を、固定値・前...
Python

Python | データ処理:lambda と組み合わせ

概要(lambdaは「その場で小さな関数」を作り、データ処理を短く書くための道具)lambda(無名関数)は、名前を付けずに1行で小さな関数を作る仕組みです。短い変換・条件分岐・並べ替えのキー指定など...
Python

Python | データ処理:pandas の apply

概要(applyは「行や列ごとに関数を適用して柔軟に加工する」)pandasのapplyは、SeriesやDataFrameに対して「各要素」「各行」「各列」へ関数を適用するための基本メソッドです。f...
Python

Python | データ処理:loc / iloc

概要(loc/ilocは「行・列の取り出し方が違う」二大基本操作)pandasのlocとilocは、DataFrameから行・列・セルを取り出すための代表的な方法です。locはラベル(行名・列名)で指...
Python

Python | データ処理:melt

概要(meltは「横持ちの列を縦に溶かして整然データへ変換する」)pandasのmeltは、ワイド形式(横持ち)をロング形式(縦持ち)へ変換するためのメソッドです。列として並んだ複数の計測値(例: M...
Python

Python | データ処理:pivot_table

概要(pivot_tableは「集計しながら縦長データを行×列へ再配置する」)pandasのpivot_tableは、Excelのピボットテーブルと同じ発想で「行(index)」「列(columns)...
Python

Python | データ処理:pivot

概要(pivotは「縦長データを横に広げて“見やすい表”に再配置する」)pandasのpivotは、行ラベル・列ラベル・値列を指定して、縦に並んだレコードを「行×列」の表へ並べ替えるメソッドです。Ex...
Python

Python | データ処理:pandas merge

概要(pandas.mergeは「共通キーで行を突き合わせる」SQLライクな結合)pandas.mergeは、2つのDataFrameを共通するキー(列やインデックス)を基準に結合します。SQLのJO...
Python

Python | データ処理:pandas concat

概要(pandas.concatは「複数の表を縦・横にまとめる」ための基本ツール)pandas.concatは、複数のDataFrameやSeriesを連結して1つのDataFrameにまとめる関数で...
Python

Python | データ処理:pandas read_json

概要(pandas.read_jsonは「JSONを表に変換する入口」)pandasのread_jsonは、JSON文字列・ファイル・URLなどを読み込み、分析しやすいDataFrameへ変換する関数...
Python

Python | OOP:クラス単位のテスト

概要(クラス単位のテストは「1つの責務を独立して検証する」)クラス単位のテストは、クラスの公開メソッドと外部との約束を中心に「入れたらこう返る」を独立して確かめる手法です。狙いは、仕様のズレや副作用の...
Python

Python | OOP:コード分割

概要(コード分割は「役割ごとに小さな部品へ分け、見通しと変更を楽にする」)コード分割は、1つの巨大ファイルや巨大クラスに詰め込まず、責務ごとにモジュール・パッケージ・クラスへ分ける設計です。目的は読み...
Python

Python | OOP:単一責任の原則

概要(単一責任の原則は「そのクラスを変える理由をひとつに絞る」)単一責任の原則(Single Responsibility Principle, SRP)は、「クラス(モジュール)が変更される理由はひ...
Python

Python | OOP:デザインパターン(Factory)

概要(Factoryは「作り方をひとまとめにして差し替える窓口」)Factory(ファクトリ)パターンは、オブジェクトの“生成方法”を呼び手から切り離し、共通の窓口にまとめる設計です。呼び手は「何を作...
Python

Python | OOP:デザインパターン(Strategy)

概要(Strategyは「アルゴリズムを入れ替える差し替え口」を用意する設計)Strategy(ストラテジー)パターンは、処理のアルゴリズムを独立した“戦略オブジェクト”に切り出し、実行時に差し替えら...
Python

Python | OOP:コンポジション

概要(コンポジションは「小さな部品を組み合わせて振る舞いを作る」設計)コンポジション(合成)は、継承に頼らず「部品(オブジェクト)を持つ」ことで機能を組み立てる設計です。車が“エンジンを持つ”、クライ...
Python

Python | OOP:Mixin

概要(Mixinは「小さな能力」を後から混ぜ込むための設計)Mixin(ミックスイン)は、クラスに“特定の機能だけ”を薄く追加するための補助クラスです。単体で使う前提の「完全な親クラス」ではなく、既存...
Python

Python | OOP:メソッドチェーン

概要(メソッドチェーンは「操作をつなげて一気に書く」設計)メソッドチェーンは、複数のメソッド呼び出しをドットで連ねて、処理の流れをそのまま一行で表現する書き方です。ポイントは“次のメソッドを呼べる値を...
Python

Python | OOP:依存性注入(簡単版)

概要(依存性注入は「必要な相手を外から渡す」だけでコードが劇的に扱いやすくなる)依存性注入(DI)は、クラスが必要とする相手(例:メール送信、DB接続、HTTPクライアント)を自分の中で作らず、外から...
Python

Python | OOP:インターフェース的設計

概要(「インターフェース的設計」は“共通の窓口”で差し替え可能にすること)インターフェースは、異なる実装を“同じやり方で使えるようにする共通の約束”です。PythonにはJavaのようなinterfa...
Python

Python | OOP:抽象クラス(ABC)

概要(抽象クラスは「必ず実装してほしい共通の約束」を形にする設計図)抽象クラス(ABC: Abstract Base Class)は、直接インスタンス化できない「設計図」です。サブクラスが必ず実装すべ...
Python

Python | OOP:yield

概要(yieldは「一つ返して一時停止、次に再開」する魔法のスイッチ)yieldは、関数を“ジェネレーター”に変えるキーワードです。yieldに到達すると値を一つ返して処理を一時停止し、次に呼ばれたと...
Python

Python | OOP:ジェネレーター

概要(ジェネレーターは「必要な分だけ、順に値を生む」仕組み)ジェネレーターは、yieldを使って「次の値」を一つずつ返し、呼び出しのたびに前回の続きから再開できる関数(またはオブジェクト)です。全デー...
Python

Python | OOP:イテレーター

概要(イテレーターは「次を返して尽きたら止まる“反復器”」)イテレーターは「要素を一つずつ順番に返す」オブジェクトです。イテレーターは必ずiterとnextを持ち、nextは次の要素を返し、もう要素が...
Python

Python | OOP:next

概要(nextは「次の要素」を返し、尽きたらStopIterationで終了する)nextは“イテレータ”が持つ特別メソッドで、呼ぶたびに次の要素を返します。要素がもうないときはStopIterati...
Python

Python | OOP:iter

概要(iterは「forで回せるオブジェクト」を作る入口)iterは、そのクラスを「イテラブル(forで回せるもの)」にする特別メソッドです。戻り値は“イテレータ”で、イテレータは次の要素を返すnex...
Python

Python | OOP:getitem

概要(getitemは「objやスライス」を使えるようにする特別メソッド)getitemは、obj や obj のようなインデックス・スライスアクセスを可能にする入口です。シーケンスっぽいクラス(li...
Python

Python | OOP:len

概要(lenは「そのオブジェクトの“サイズ”を即座に返す」ための特別メソッド)lenは、len(obj)が呼ばれたときに使われる“サイズ取得”の入口です。数や件数など「直感的に数えられるもの」を、非負...
Python

Python | OOP:repr

概要(reprは「開発者向けの公式な文字列表現」)reprは、オブジェクトの“正確で曖昧さのない”文字列表現を返す特別メソッドです。REPLやデバッグ、ログでの診断に使われ、可能ならその文字列からオブ...
Python

Python | OOP:str

概要(strは「人に見せる文字列表現」を返す特別メソッド)strは、オブジェクトをprintしたり、str()に渡したときの“人向けの文字列表現”を定義します。これを実装しておくと、ログやUI、コンソ...
Python

Python | OOP:staticmethod

概要(staticmethodは「クラスに属するけれど、状態に依存しない純粋な関数」)@staticmethodは、self(インスタンス)やcls(クラス)に触れない“補助関数”をクラスの中にまとめ...
Python

Python | OOP:クラスメソッド

概要(クラスメソッドは「クラスに紐づく操作」—工場・設定・系統別挙動に効く)@classmethodは、第1引数にインスタンスではなくクラス自身(cls)を受け取るメソッドです。インスタンスの状態には...
Python

Python | OOP:setter

概要(setterは「値の更新に検証を挟む安全な入口」)setterは、オブジェクトの属性を更新するときにルール(検証・整合性維持)を必ず通過させるための仕組みです。Pythonでは@property...
Python

Python | OOP:プロパティ(@property)

概要(@propertyは「属性のように使える安全な窓口」)@propertyは、見た目は属性アクセスなのに、裏側で関数(メソッド)が実行される仕組みです。値の取得(getter)、設定(setter...
Python

Python | OOP:private 的記述

概要(Pythonの“private”的記述は「強制」ではなく“合図”と“窓口設計”)PythonにはJavaのprivateのような強制的なアクセス修飾子はありません。代わりに「内部用」を示す命名規...
Python

Python | OOP:カプセル化

概要(カプセル化は「中身を守り、外からは使いやすい窓口だけ見せる」設計)カプセル化は、オブジェクトの内部状態(属性)と内部処理(ヘルパーメソッド)を隠し、外部には安全な操作方法だけを提供する考え方です...
Python

Python | OOP:オーバーライド

概要(オーバーライドは「親の振る舞いを、子で意図通りに差し替える」技術)オーバーライドは、継承した親クラスのメソッドを子クラスで同じ名前で再定義して、振る舞いを変更・拡張する仕組みです。共通部分は親に...
Python

Python | OOP:super()

概要(superは「親の処理を安全に呼び継ぐためのバトン」)super()は、継承チェーンの中で「次に呼ぶべきクラス」のメソッドへバトンを渡す仕組みです。単なる“親クラス呼び出し”ではなく、Pytho...
Python

Python | OOP:継承

概要(継承は「既存の設計を引き継ぎ、拡張・差し替えする」ための仕組み)継承は、親クラス(基底クラス)の属性・メソッドを子クラス(派生クラス)が受け継ぎ、必要な部分だけ追加や上書き(オーバーライド)する...
Python

Python | OOP:インスタンス変数

概要(インスタンス変数は「各オブジェクト固有の状態」)インスタンス変数は、クラスから作られた各インスタンスが個別に持つデータです。同じクラスでも、インスタンスごとに値が違ってよい(むしろ違うのが普通)...
Python

Python | OOP:クラス変数

概要(クラス変数は「全インスタンスで共有する設定・定数」)クラス変数は、クラスに属する値で、作られたすべてのインスタンスから共有されます。対してインスタンス変数は各個体専用。初心者がまず押さえるべきは...
Python

Python | OOP:属性

概要(属性は「オブジェクトが持つデータ」。設計と使い分けが要)属性はクラスやインスタンスが持つデータで、振る舞い(メソッド)と対になる要素です。まず理解すべきは、インスタンス属性とクラス属性の違い、可...
Python

Python | OOP:メソッド

概要(メソッドは「そのオブジェクトができること」を表す操作)メソッドは、クラスに属する関数で「オブジェクトの振る舞い」を定義します。インスタンスの状態(属性)を読み書きしたり、外部と連携したり、目的に...
Python

Python | OOP:init

概要(initは「生まれた直後の初期設定」を行う特別なメソッド)initは、インスタンス生成時に自動で呼ばれる“コンストラクタ”で、属性の初期化や前提チェックを行います。Pythonではメソッドの第1...
Python

Python | OOP:class 定義

概要(classは「データ+振る舞い」をひとまとめにする設計図)クラスは、関連するデータ(属性)と処理(メソッド)をまとめる「設計図」です。設計図から作る具体物がインスタンス。初心者がまず身につけるべ...
Python

Python | Web / API:GitHub でコード管理基礎

概要(GitHubは「変更履歴を安全に共有・同期する場所」、Gitはそのエンジン)Gitはローカルでコードの変更履歴を管理するツール、GitHubはその履歴をクラウドで共有・レビュー・公開する場です。...
Python

Python | Web / API:API キーの扱い

概要(APIキーは「本人確認の鍵」。扱いは最小露出・安全保管・適切送信)APIキーはサービスを利用するための秘密の識別子です。コードに直書きせず、環境変数やシークレット管理で安全に保管し、HTTPヘッ...
Python

Python | Web / API:エラーの再スロー

概要(エラーの再スローは「原因を記録して、正しい層へ渡す」ための技術)再スロー(re-raise)は、捕まえた例外を処理(ログや補足)したうえで、呼び出し元へ再び投げ直して「適切な場所で判断」させるた...
Python

Python | Web / API:assert

概要(assertは「前提が破れたら即座に止める」ための開発時チェック)assertは「この時点では必ず条件が成り立つはず」という前提をコードに埋め込み、破れたら AssertionError を投げ...
Python

Python | Web / API:print デバッグ

概要(printデバッグは「流れと値」をその場で可視化する最短手段)printデバッグは、疑わしい箇所にprintを挿入して「いつ、どの分岐で、どんな値になっているか」を直接出力し、原因に近づく方法で...
Python

Python | Web / API:デバッグ基礎

概要(デバッグは「原因を特定して直すための再現と観察」)デバッグの核心は、問題を確実に再現し、プログラムの状態を正しく観察して、原因に最短で辿り着くことです。初心者は「再現条件を固定する」「トレースバ...
Python

Python | Web / API:PEP8 の基礎

概要(PEP8は「読みやすさと一貫性」をコードに宿すための基本ルール)PEP8はPythonの公式スタイルガイドで、見た目の揃え方や命名、インデント、改行など「どう書くと読みやすいか」を定めています。...
Python

Python | Web / API:ライブラリのドキュメント参照

概要(「正しいドキュメントを、正しいバージョンで読む」ことが9割)ライブラリのドキュメントは「使い方の唯一の正解」に近い情報源です。まず意識すべきは、あなたが使っているライブラリのバージョンに対応する...
Python

Python | Web / API:モジュールの分割

概要(モジュールの分割は「責務で切り分けて再利用性と保守性を上げる」技術)モジュール分割は、1つの長いスクリプトを機能ごとにファイルへ分け、明確な境界でインポートし合う設計です。初心者がまず押さえるの...
Python

Python | Web / API:Python のパッケージ構造

概要(Pythonのパッケージ構造は「関連機能を階層で整理する入れ物」)Pythonのパッケージは、関連する複数のモジュール(.pyファイル)をディレクトリ階層でまとめ、再利用性と保守性を高める仕組み...
Python

Python | Web / API:pip freeze

概要(pip freezeは「今の環境を丸ごと再現するためのスナップショット」)pip freezeは、現在のPython環境に入っているライブラリをname==version形式で完全に列挙します。...
Python

Python | Web / API:pip list

概要(pip listは「今の環境に入っているライブラリを一望する鏡」)pip listは、現在のPython(できれば仮想環境)にインストールされているパッケージとバージョンを一覧表示します。環境の...
Python

Python | Web / API:pip install

概要(pip installは「必要なライブラリを安全に取り込む」ための入口)pipはPythonのパッケージ管理ツール。pip installで外部ライブラリを追加し、アップグレードやアンインストー...
Python

Python | Web / API:requirements.txt

概要(requirements.txtは「同じ環境を誰でも瞬時に再現するための依存リスト」)requirements.txtは、そのプロジェクトで使う外部ライブラリ名とバージョンを列挙したテキストファ...
Python

Python | Web / API:仮想環境 venv

概要(venvは「プロジェクトごとに独立したPython環境」を作る標準機能)venvはPython標準の仮想環境機能で、各プロジェクトが別々のライブラリやバージョンを使えるように分離します。これによ...
Python

Python | Web / API:dotenv

概要(dotenvは「設定と秘密をコードから切り離す」開発の定番)dotenvは、.envファイルに書いた設定値(APIキーやDB接続文字列など)をPython実行時に環境変数へ読み込むための軽量ライ...
Python

Python | Web / API:環境変数

概要(環境変数は「設定や秘密をコード外で持つための保管場所」)環境変数は、OSが管理する名前つきの設定値です。Pythonでは os.environ や os.getenv を使って取り出し、APIキ...
Python

Python | Web / API:logging のレベル

概要(loggingのレベルは「重要度のフィルタ」で情報量を制御する仕組み)Pythonのloggingには重要度を表す5段階のレベル(DEBUG/INFO/WARNING/ERROR/CRITICA...
Python

Python | Web / API:logging のフォーマット

概要(loggingのフォーマットは「いつ・どこで・何が起きたか」を一行に凝縮する設計)ログの価値は、後から原因に直行できること。フォーマットはそのための骨組みです。日付・レベル・発生箇所・メッセージ...
Python

Python | Web / API:ログ出力 logging

概要(loggingは「あとから原因を特定できる記録」を残すための標準手法)printは一瞬の確認、loggingは運用と原因追跡のための記録です。ログレベルで重要度を切り替え、フォーマットで「いつ・...
Python

Python | Web / API:ファイル添付メール

概要(ファイル添付は「正しいMIMEと暗号化」で確実に届ける)Python標準のsmtplibとemail.message.EmailMessageを使えば、PDFや画像、Excelなどを安全に添付し...
Python

Python | Web / API:IMAP 読み取り

概要(IMAPは「受信箱から安全に読み取る」ための標準プロトコル)IMAPは、メールサーバ上の受信箱(INBOX)からメールを検索・取得・既読化・移動・削除するためのしくみです。Python標準のim...
Python

Python | Web / API:SMTP の基本

概要(SMTPは「メールをサーバ経由で届ける」ための標準プロトコル)SMTPは、メールを送信側から受信側へ「サーバを介して転送する」ための仕組みです。Pythonでは標準ライブラリのsmtplibを使...
Python

Python | Web / API:Python でメール送信

概要(Pythonでメール送信は「smtplib+EmailMessage」が基本の型)Python標準のsmtplibとemailパッケージを使えば、テキストメール、HTMLメール、添付ファイル、複...
Python

Python | Web / API:WebDriverWait

概要(WebDriverWaitは「準備が整ってから動く」ための安定化の核)WebDriverWaitは、Seleniumで「要素が見える」「クリック可能」「URLが変わる」などの状態になるまで待って...
Python

Python | Web / API:自動入力

概要(自動入力は「正しく見つけ、待って、確実に送る」型づくり)Seleniumでの自動入力は、フォームや検索欄、ログイン画面などへ文字を入れる操作をコード化することです。重要なのは、要素の特定(ロケー...
Python

Python | Web / API:自動クリック

概要(自動クリックは「見えてから、正しく、確実に押す」の型づくり)Seleniumでの自動クリックは、ボタンやリンクをプログラムから押す操作です。重要なのは、要素の特定(ロケータ)、明示的待機(表示・...
Python

Python | Web / API:ChromeDriver

概要(ChromeDriverは「SeleniumがChromeを動かすための運転手」)ChromeDriverは、SeleniumがChromeブラウザをプログラムから操作するための仲介役です。要点...
Python

Python | Web / API:セッション管理

概要(セッション管理は「同じ条件を保ったまま、速く安定して通信する」ための基礎)Pythonのrequestsでセッション管理をすると、接続の再利用(Keep-Alive)、クッキーやヘッダーの持続、...
Python

Python | Web / API:CSS セレクタ

概要(CSS セレクタは「構造を短く正確に指定する」最強の抽出術)BeautifulSoupのCSSセレクタ(select / select_one)は、タグ名・class・id・親子関係をひとつの文...
Python

Python | Web / API:HTML の構造

概要(HTML の「骨組み」を理解すると、スクレイピングが一気に楽になる)HTML はタグで構造化されたテキストです。ページは head(設定やメタ情報)と body(画面に見える内容)に分かれ、要素...
Python

Python | Web / API:find / find_all

概要(find / find_all は「欲しい要素を的確に拾う」基本手段)BeautifulSoup の find は「最初の1件」、find_all は「該当する全件」を返す検索メソッドです。タグ...
Python

Python | Web / API:スクレイピング基本(BeautifulSoup)

概要(BeautifulSoupは「HTMLから欲しい所だけ抜く」ための定番)BeautifulSoupは、取得したHTMLを“読みやすい木構造”にして、タグ名・クラス名・CSSセレクタで必要部分だけ...
Python

Python | Web / API:レスポンスコード

概要(レスポンスコードは「今どういう状態か」を示す信号)HTTPのレスポンスコードは、APIから返ってくる「成功か失敗か、次に何をすべきか」を表す番号です。200番台は成功、300番台はリダイレクト、...
Python

Python | Web / API:API エラー処理

概要(APIエラー処理は「失敗を見落とさない・止めない・壊さない」ための型づくり)APIは必ず失敗します。通信が詰まる、サーバが落ちる、仕様が変わる、レート制限に当たる。だから「すべて成功前提」で書く...
Python

Python | Web / API:JSON API

概要(JSON APIは「辞書のやり取り」で短く、安全に)JSON APIは、サーバとクライアントがJSON(辞書・配列ベースのテキスト)を送受信する仕組みです。Pythonでは標準のjsonモジュー...
Python

Python | Web / API:クエリパラメータ

概要(クエリパラメータは「URLに条件を添える」最短手段)クエリパラメータは、URLの末尾に ?key=value の形で付ける追加情報です。検索条件やページ番号、並び順などをサーバへ伝えるために使い...
Python

Python | Web / API:requests.post

概要(requests.postは「サーバへデータを送る」ための最短ルート)requests.postは、フォーム送信やJSONの投稿、ファイルアップロードなど「データをサーバへ渡す」場面で使います。...
Python

Python | Web / API:requests.get

概要requests.get は「URLへアクセスしてデータを取得する」ための最短ルートです。インストールは簡単で、使い方も直感的。重要なのは、ステータスコードの確認、タイムアウト設定、例外処理、レス...
Python

Python | ファイル・OS 操作:プロット種類(折れ線・棒)

概要(折れ線・棒の基本と使い分けの軸)折れ線は「連続した推移」を、棒は「カテゴリ間の比較」を見せるのに向いています。まず「横軸は時間かカテゴリか」を決め、折れ線なら値の変化の形、棒なら差の大きさが即読...
Python

Python | ファイル・OS 操作:図保存

概要(図保存は「伝える場面に合わせた形式と解像度」を選ぶのが核心)Matplotlibの図保存は、plt.savefig または fig.savefig を使って画像ファイルへ出力します。重要なのは「...
Python

Python | ファイル・OS 操作:グリッド線

概要(グリッド線は「値の位置と比較」を一瞬でわかるようにする補助線)グリッド線(grid)は、目盛りに沿った薄い罫線で、値の位置を正確に読み取りやすくし、系列どうしの比較を助けます。Matplotli...
Python

Python | ファイル・OS 操作:軸ラベル

概要(軸ラベルは「数値の意味」を伝える最短の一言)軸ラベルは、横軸・縦軸が何を表すのか、単位は何かを一瞬で伝えるための要です。設定はシンプルですが、位置・余白・フォント・単位・目盛りとの整合を丁寧に整...
Python

Python | ファイル・OS 操作:グラフタイトル

概要(グラフタイトルは「何を見せるか」を一瞬で伝える最短手段)タイトルは、グラフの意味や対象範囲を明確にし、見る人の理解負担を下げます。Matplotlibでは「図全体のタイトル(suptitle)」...
Python

Python | ファイル・OS 操作:Matplotlib 基本

概要(Matplotlibは「データを見える化」するための定番)MatplotlibはPythonでグラフを描く基本ライブラリです。折れ線・棒・散布・ヒストグラムなどを素早く作れ、細かい見た目の調整も...
Python

Python | ファイル・OS 操作:NumPy の条件抽出

概要(NumPyの条件抽出は「ブール配列で一発フィルタ」する最短ルート)NumPyの条件抽出(Boolean indexing)は、配列に対する比較結果(True/Falseの配列)をそのままインデッ...
Python

Python | ファイル・OS 操作:NumPy の sum / mean

概要(sum / mean は「配列を一発で集計」するための核機能)NumPy の np.sum と np.mean は、配列全体や行・列ごとに合計と平均を高速に計算する基本関数です。重要なのは「ax...
Python

Python | ファイル・OS 操作:NumPy のブロードキャスト

概要(ブロードキャストは「形が違っても自然に計算させる」仕組み)NumPy のブロードキャストは、形状(shape)が違う配列どうしの演算を可能にする仕組みです。ポイントは「末尾の次元から見て、同じ長...
Python

Python | ファイル・OS 操作:NumPy の reshape

概要(reshapeは「要素数はそのまま、形だけ変える」ための基本テク)NumPy の reshape は、配列の総要素数を変えずに「形(次元・行数・列数)」だけを変える関数です。処理の型は「配列を作...
Python

Python | ファイル・OS 操作:NumPy array

概要(NumPy 配列は「速く・簡潔に・大量データ」を扱うための土台)NumPy 配列(ndarray)は、同じ型の要素を連続メモリに格納する「数値計算専用の配列」です。Pythonのリストより圧倒的...
Python

Python | ファイル・OS 操作:pandas の欠損値処理

概要(pandas の欠損値処理は「検出→方針決定→削除/補完→型整備」の順で進める)欠損値は NaN(Not a Number)や None で表現されます。集計・可視化・機械学習で誤差やエラーの原...
Python

Python | ファイル・OS 操作:pandas.plot

概要(pandas.plotは「DataFrameを即グラフ化」する最短ルート)pandasのplotは、DataFrameやSeriesから折れ線・棒・散布図などを1行で描ける可視化機能です。内部で...
Python

Python | ファイル・OS 操作:pandas.groupby

概要(groupbyは「カテゴリごとにまとめて計算」するための核機能)pandas.groupbyは、列(カテゴリ)でデータをグループ化して、合計・平均・件数などの集計を一気に行う仕組みです。SQLの...
Python

Python | ファイル・OS 操作:pandas の列操作

概要(pandas の列操作は「列名で考える」が合言葉)pandas の列操作は「列名を軸」に発想すると迷いません。列の選択・追加・更新・削除・並べ替え・型変換・文字列処理・条件列の作成まで、ほぼ1〜...
Python

Python | ファイル・OS 操作:pandas.DataFrame.to_excel

概要(to_excelは「DataFrameをExcelに保存」する最短ルート)pandas.DataFrame.to_excelは、表(DataFrame)を.xlsxへ書き出す標準メソッドです。基...
Python

Python | ファイル・OS 操作:pandas.DataFrame の基本

概要(DataFrameは「行と列の表」をコードで扱うための基本型)pandas.DataFrameは、Excelのような表(行・列)をPythonで扱うための中心データ構造です。列名(カラム)と行ラ...
Python

Python | ファイル・OS 操作:pandas.read_csv

概要(pandas.read_csvは「CSVをDataFrameに変換」する最短ルート)pandas.read_csvは、CSV(テキスト表)を一発でDataFrameへ読み込む関数です。初心者がま...
Python

Python | ファイル・OS 操作:Excel 書き込み(openpyxl)

概要(openpyxlで「Excelを書き出す」基本と落ちない勘所)openpyxlは.xlsxのExcelをPythonから生成・追記・整形できるライブラリです。初心者がまず掴むべき流れは「Work...
Python

Python | ファイル・OS 操作:Excel 読み込み(openpyxl)

概要(openpyxlで「Excelを安全に読み取る」基本と勘所)openpyxlは.xlsx形式のExcelをPythonで読み書きできる定番ライブラリです。読み込みでは「どのシートを読むか」「セル...
Python

Python | ファイル・OS 操作:JSON の ensure_ascii

概要(ensure_ascii は「ASCIIだけにするか、日本語をそのまま出すか」を決めるスイッチ)json.dumps/json.dump の ensure_ascii は、非ASCII文字(日本...
Python

Python | ファイル・OS 操作:CSV DictWriter

概要(DictWriterは「列名で書ける」CSV出力の定番)csv.DictWriterは、辞書(dict)をそのままCSVの行として書き込める標準機能です。列順やヘッダーを明示できるため、インデッ...
Python

Python | ファイル・OS 操作:CSV DictReader

概要(DictReaderは「列名でアクセスできる」CSV読み込みの定番)csv.DictReaderは、CSVの各行を「ヘッダーをキーにした辞書」として読み込める標準機能です。列名で参照できるので、...
Python

Python | ファイル・OS 操作:tarfile

概要(tarfile は「フォルダを丸ごと束ねて圧縮・展開」できる標準機能)tarfile は .tar、.tar.gz、.tar.bz2、.tar.xz などのアーカイブを作成・追記・一覧・解凍でき...
Python

Python | ファイル・OS 操作:ZIP 圧縮 zipfile

概要(zipfile は「作る・入れる・取り出す」をひとまとめにする標準機能)zipfile は ZIP アーカイブの作成・追加・一覧取得・解凍を行う標準ライブラリです。外部インストール不要で、ファイ...
Python

Python | ファイル・OS 操作:shutil.rmtree

概要(shutil.rmtree は「ディレクトリ丸ごと削除」を一発で行う強力な関数)shutil.rmtree は、ディレクトリとその中身(ファイル・サブディレクトリ)を再帰的にすべて削除します。空...
Python

Python | ファイル・OS 操作:shutil.move

概要(shutil.move は「移動・リネーム」を1行で安全にやる標準関数)shutil.move は、ファイル/ディレクトリを別の場所へ移動したり、名前を変更(リネーム)するための標準ライブラリの...
Python

Python | ファイル・OS 操作:glob

概要(glob は「パターンに合うファイルを一気に列挙」する標準手段)glob は、ワイルドカードを使って「条件に合うファイルやフォルダ」をまとめて取得する仕組みです。拡張子が .csv のファイルだ...
Python

Python | ファイル・OS 操作:mkdir(parents=True)

概要(mkdir(parents=True) は「途中の親も含めて安全に作る」ための一手)pathlib の Path.mkdir はディレクトリを作るメソッドです。parents=True を付ける...
Python

Python | ファイル・OS 操作:pathlib の結合

概要(pathlib の結合は「/ 演算子」で直感的に安全に書く)pathlib はファイルパスをオブジェクトとして扱う標準ライブラリです。結合は os.path.join を忘れて「/ 演算子」か ...
Python

Python | データ構造強化:速度計測(timeit)

概要(timeit は「公平に何度も走らせて平均速度を測る」ための標準ツール)timeit は、コードの実行時間を正確に測るための標準モジュールです。1回だけの計測はノイズに弱いので「複数回・同じ条件...
Python

Python | データ構造強化:不変性とバグ

概要(不変性は「勝手に変わらない」ことでバグの連鎖を止める安全装置)不変性(immutable)は「作った後に中身が変わらない」性質です。勝手に変わらないという保証は、参照共有や関数の副作用でデータが...
Python

Python | データ構造強化:mutable / immutable

概要(mutable と immutable は「変更できるかどうか」を決める重要な性質)Python のオブジェクトは、作成後に中身を変更できるもの(mutable)と、変更できないもの(immut...
Python

Python | データ構造強化:データ構造の選択基準

概要(「何をしたいか」から逆算してデータ構造を選ぶ)データ構造は「どんな操作を、どれくらいの規模で、どんな制約の下で行うか」で選びます。最重要ポイントは、必要な操作(検索・追加・削除・並べ替え・集計)...
Python

Python | データ構造強化:any / all 条件判定

概要(any / all は「ひとつでも満たす」「全部満たす」を一瞬で判定する心臓部)any と all は、並んだ条件の集合から「ひとつでも満たすか(any)」「全部満たすか(all)」を短く判定す...
Python

Python | データ構造強化:内包表記で条件付き

概要(内包表記の「条件付き」は“選ぶ・変換する”を1行で完結させる技)内包表記に条件を組み込むと、要素を選び(フィルタ)ながら、必要に応じて変換(if-else)までを1行で書けます。for+appe...
Python

Python | データ構造強化:スタック

概要(スタックは「最後に入れたものが最初に出る」LIFOの基本構造)スタックは LIFO(Last-In, First-Out)で要素を管理するデータ構造です。直前の操作を元に戻す「Undo」、括弧の...
Python

Python | データ構造強化:キュー

概要(キューは「先に入れたものが先に出る」安全な順序制御の基本構造)キューは、FIFO(First-In, First-Out)で要素を管理するデータ構造です。タスクの順序制御、イベントの順序処理、ス...
Python

Python | データ構造強化:辞書内のリスト操作

概要(辞書の値にリストを持たせて「グループ化・順次追加」を安全に扱う)辞書の中にリストを入れると、「キーごとに複数の要素」を自然に管理できます。たとえばカテゴリごとの商品一覧、ユーザーごとの履歴、タグ...
Python

Python | データ構造強化:タプルのアンパック

概要(タプルのアンパックは「並んだ値を並んだ変数へ一度に割り当てる」)タプルのアンパックは、複数の値を一度に複数の変数へ代入する文法です。インデックスを使わず「意味のある名前」に直で割り当てられるので...
Python

Python | データ構造強化:二次元リストのループ

概要(二次元リストのループは「外側=行、内側=列」を丁寧にまわすのが基本)二次元リストは「リストの中にリスト」を持つ入れ子構造です。ループは外側で行(row)を、内側で列(value)を走査するのが基...
Python

Python | データ構造強化:リストの二次元構造

概要(二次元リストは「表形式(行×列)」を素直に表す入れ子構造)二次元リストは「リストの中にリスト」を入れる構造で、表や行列のようなデータを自然に扱えます。行は外側リストの要素、列は内側リストの要素と...
Python

Python | データ構造強化:sorted の key

概要(sorted の key は「並べ替えの基準」を自由に設計するための心臓部)sorted は「イテラブルを並べ替えて新しいリストを返す」関数で、key は「要素から並べ替えの基準値を取り出す関数...
Python

Python | データ構造強化:dict の更新

概要(dict の更新は「追加・上書き・統合」を最短で安全に行う技法)辞書 dict はキーと値のペアを扱う可変データ構造です。更新は「代入で1件」「updateで複数件」「マージ演算子で統合」の3本...
Python

Python | データ構造強化:zip のアンパック

概要(zip のアンパックは「行と列をひっくり返す」基本テクニック)zip は複数のイテラブルを「対応する位置でペア化」する関数です。アンパック(*演算子)を組み合わせると、zip で作ったペアを「元...
Python

Python | データ構造強化:list の内包最適化

概要(「内包表記」を正しく使えば“短く・速く・安全”に書ける)リスト内包表記は、既存データから新しいリストを「1行」で作るための記法です。for と append を並べるより、処理の意図が明確で速く...
Python

Python | データ構造強化:ディープコピー(copy.deepcopy)

概要(ディープコピーは「入れ物も中身も全部“別物”にする」コピー)copy.deepcopy は、リストや辞書などの入れ子構造を含むオブジェクトを「最上位から末端まで」再帰的にコピーして、完全に独立し...
Python

Python | データ構造強化:リストのシャローコピー

概要(シャローコピーは「外側だけ新しく、中身は同じものを指す」コピー)リストのシャローコピー(浅いコピー)は、リストそのもの(外側の入れ物)だけを新しく作り、要素がオブジェクトならその参照をそのままコ...
Python

Python | データ構造強化:set の排他的論理和

概要(set の排他的論理和は「片方にしかない要素だけ」をまとめる)排他的論理和(symmetric difference)は、集合 A と集合 B のうち「どちらか一方にしか含まれない要素」だけを取...
Python

Python | データ構造強化:set の差集合

概要(set の差集合は「片方だけにある要素」を取り出す基本操作)差集合(difference)は、集合 A から集合 B に含まれる要素を取り除いた結果です。順序はなく、重複は自動的に排除されます。...
Python

Python | データ構造強化:set の和集合

概要(set の和集合は「重複を除いて全部まとめる」基本操作)和集合(union)は、複数の集合の要素を重複なしでまとめた結果を返します。順序は保証されず、同じ値は1つに統合されます。Python で...
Python

Python | データ構造強化:set の積集合

概要(set の積集合は「共通して含まれる要素だけ」を取り出す基本操作)積集合(intersection)は、複数の集合に共通して含まれる要素だけを取り出します。重複は自動的に排除され、順序はありませ...
Python

Python | データ構造強化:itertools.groupby

概要(groupby は「連続する同じキーでまとまりを作る」ための基本ツール)itertools.groupby は、並んだデータを「キーが同じものが連続している区間」ごとにグループ化するイテレータで...
Python

Python | データ構造強化:itertools.combinations

概要(combinations は「順番を無視した取り合わせ」を遅延生成する)itertools.combinations は、イテラブルから要素を r 個選ぶすべての“組み合わせ”を順に返すイテレー...
Python

Python | データ構造強化:itertools.permutations

概要(permutations は「順番を考慮した並べ方」を遅延生成で作る)itertools.permutations は、イテラブルの要素を「順番を考慮して並べ替えたすべての並び(順列)」を順に返...
Python

Python | データ構造強化:itertools.product

概要(product は「直積=すべての組み合わせ」を省メモリで生成する)itertools.product は複数のイテラブル(リスト、文字列、range など)から「取りうるすべての組み合わせ(デ...
Python

Python | データ構造強化:collections.OrderedDict

概要(OrderedDict は「挿入順や並べ替えを意図的に扱える辞書」)collections.OrderedDict は「辞書の順序」を明確に扱うための拡張辞書です。Python 3.7以降、通常...
Python

Python | データ構造強化:collections.deque

概要(deque は両端から高速に追加・削除できる「双方向キュー」)collections.deque(デック)は、先頭と末尾のどちら側からでも高速に要素を追加・削除できるデータ構造です。リストが先頭...
Python

Python | データ構造強化:collections.defaultdict

概要(defaultdict は「未登録キーに自動で初期値を入れる」辞書)collections.defaultdict は、存在しないキーにアクセスした瞬間に「初期値」を自動作成してくれる辞書です。...
Python

Python | データ構造強化:collections.Counter

概要(Counter は「要素の出現回数」を一瞬で数える専用辞書)collections.Counter は、リストや文字列など「繰り返し可能なデータ」に含まれる各要素が何回出てきたかを数えるためのク...
Python

Python | ファイル操作など:プログラム構造の基本

概要(「読みやすく、壊れにくい」プログラム構造の土台を作る)プログラム構造の基本は、役割ごとにコードを分けて、入口と出口を明確にし、外部資源(ファイル・フォルダ)を安全に扱い、失敗に備えることです。初...
Python

Python | ファイル操作など:例外の種類

概要(「例外」は失敗を安全に扱うための仕組み)例外は、処理が想定外の状態になったときに「止める/切り替える」ための信号です。Python では try/except/else/finally で「失敗...
Python

Python | ファイル操作など:エスケープシーケンス

概要(エスケープシーケンスは「文字列の中で特別な文字を表す」仕組み)エスケープシーケンスは、文字列の中に直接書きにくいもの(改行、タブ、クォート、バックスラッシュなど)を、バックスラッシュ「\」を使っ...
Python

Python | ファイル操作など:format

概要(format は「見せ方を指定して、値を文字列に埋め込む」ための基本)format は2つあります。ひとつは文字列のメソッド str.format()("{}" に値を差し込む)、もうひとつは組...
Python

Python | ファイル操作など:round

概要(round は「数値を指定桁で丸める」ための基本関数)round は、数値を最も近い値へ丸める組み込み関数です。小数点以下の桁数を指定でき、桁数を省略すると整数へ丸めます。重要なのは「Pytho...
Python

Python | ファイル操作など:timedelta

概要(timedelta は「時間差・期間」を安全に計算するための基本)timedelta は「何日・何時間・何分」などの“時間の長さ”や“差”を表すオブジェクトです。date/datetime と足...
Python

Python | ファイル操作など:datetime 基本

概要(datetime は「日付と時刻」を安全・正確に扱うための標準ツール)datetime は、今日の日時取得、足し算引き算、表示形式への変換、文字列からのパース、タイムゾーン対応までを一通りこなせ...
Python

Python | ファイル操作など:shutil.copy

概要(shutil.copy は「ファイルを別の場所へコピーする」高レベル関数)shutil.copy は、指定した1つの“ファイル”を別のパスへコピーする標準ライブラリの関数です。コピー先が「ファイ...
Python

Python | ファイル操作など:os.remove

概要(os.remove は「ファイルを1つ削除する」ための基本関数)os.remove は、指定したパスの“ファイル”を削除する関数です。直感的ですが、重要なのは「削除対象はファイルのみ(ディレクト...
Python

Python | ファイル操作など:os.mkdir

概要(os.mkdir は「新しいフォルダを1つ作る」ための基本関数)os.mkdir は、指定した場所にディレクトリ(フォルダ)を1つ作成する関数です。作る場所の親フォルダが存在していることが前提で...
Python

Python | ファイル操作など:os.listdir

概要(os.listdir は「フォルダの中身の名前一覧」を取得する基本関数)os.listdir は、指定したディレクトリに存在する「ファイル名やサブディレクトリ名」をまとめてリストで返します。中身...
Python

Python | ファイル操作など:pathlib.Path

概要(pathlib.Path は「パスを文字列ではなくオブジェクトで扱う」現代的なやり方)pathlib は標準ライブラリで、ファイルやフォルダの“パス”を Path オブジェクトとして安全・直感的...
Python

Python | ファイル操作など:JSON 読み書き

概要(JSON は「辞書やリストをそのまま保存・交換できる」テキスト形式)JSON は、辞書やリストをそのままテキストにしたようなデータ形式です。Python では標準ライブラリの json モジュー...
Python

Python | ファイル操作など:CSV 読み書き

概要(CSV は「表データをテキストでやり取りする」最小で強力な形式)CSV はカンマ区切りのテキストで表データを保存する形式です。Python では標準ライブラリの csv モジュールで、追加インス...
Python

Python | ファイル操作など:with 文

概要(with 文は「後片付けを自動化して安全にする」ための構文)with 文は、ファイルやネットワーク接続など「使ったら必ず片付けが必要」な資源を、安全・簡潔に扱うための構文です。ブロックを抜けるタ...
Python

Python | ファイル操作など:write

概要(write は「ファイルに内容を書き込む」ための基本メソッド)write は、open で開いたファイルオブジェクトに文字列(テキスト)または bytes(バイナリ)を書き込むメソッドです。テキ...
Python

Python | ファイル操作など:readlines

概要(readlines は「全ての行を一度にリストで受け取る」ためのメソッド)readlines は、open で開いたファイルオブジェクトから「全行」をまとめて読み込み、各行を要素とするリストを返...
Python

Python | ファイル操作など:readline

概要(readline は「ファイルを1行ずつ取り出す」ための基本メソッド)readline は、open で開いたファイルオブジェクトから「次の1行」を文字列(テキスト)または bytes(バイナリ...
Python

Python | ファイル操作など:read

概要(read は「ファイルから内容を取り出す」ための基本メソッド)read は、open で開いたファイルオブジェクトから中身を取り出すメソッドです。テキストなら文字列、バイナリなら bytes を...
Python

Python | ファイル操作など:open()

概要(open は「ファイルを開いて読み書きする入口」)open() はファイルを開いて「ファイルオブジェクト」を返す組み込み関数です。読み込み、書き込み、追記、バイナリ操作までこれ一つで行えます。重...
Python

Python | 関数:help()

概要(help は「その場で公式説明を表示する」学習の最強の入口)help() は、関数・クラス・モジュールなどの「公式説明(docstring)」を即座に表示する組み込み関数です。Web検索に行かな...
Python

Python | 関数:dir()

概要(dir は「そのオブジェクトが持つ名前一覧」を教えてくれる内省の基本)dir() は、オブジェクトが持つ属性名(メソッド、プロパティ、定数など)をリストで返す組み込み関数です。初めて触るモジュー...
Python

Python | 関数:標準ライブラリを見る方法

概要(標準ライブラリは「電池付き」=追加インストールなしで使える便利な道具箱)Pythonはインストール直後から大量の便利モジュールを同梱しています。数学計算、日付時刻、ファイル操作、文字列処理などが...
Python

Python | 関数:from import

概要(from import は「必要な名前だけを直接使えるようにする」ための記法)from import は、モジュール全体ではなく“特定の関数・クラス・定数”だけを取り出して、前置なしで直接使える...
Python

Python | 関数:import の基本

概要(import は「他のファイルやライブラリの機能を使えるようにする」仕組み)import は、他のモジュール(Pythonファイル)やライブラリにある関数・クラス・定数を自分のコードで使えるよう...
Python

Python | 関数:モジュールとは

概要(モジュールは「機能ごとに分けた Python ファイル」で再利用の単位)モジュールとは、関数・クラス・定数などをひとまとめにした Python ファイル(.py)のことです。目的別にコードを分割...
Python

Python | 関数:再帰

概要(再帰は「自分自身を呼び出して問題を小さく解く」ための仕組み)再帰は、関数の中でその関数自身を呼び出すテクニックです。ポイントは、問題を「少し小さい同じ形」に分解し、最終的に簡単に答えられる“基底...
Python

Python | 関数:id

概要(id は「そのオブジェクトだけに割り当てられた識別値」を返す)id は、渡したオブジェクトの“同一性”を表す識別値(identity)を返す組み込み関数です。これにより「2つの変数が同じオブジェ...
Python

Python | 関数:isinstance

概要(isinstance は「型やサブクラスまで含めた安全な型チェック」)isinstance は、渡した値が指定した型(クラス)か、またはそのサブクラスであるかを真偽値で返す組み込み関数です。Py...
Python

Python | 関数:type()

概要(type は「その値が何者か」を一瞬で教えてくれる基本関数)type は、オブジェクト(数値、文字列、リスト、関数、クラスのインスタンスなど)の「型(クラス)」を返す組み込み関数です。Pytho...
Python

Python | 関数:ドキュメンテーション文字列

概要(docstring は「使い方」をコードの中に残す公式な説明書)ドキュメンテーション文字列(docstring)は、関数・メソッド・クラス・モジュールの定義直後に書く、三重引用符で囲まれた説明文...
Python

Python | 関数:クロージャ

概要(クロージャは「外側の値を覚えた関数」をつくる仕組み)クロージャは、関数の中で定義した内側関数が「外側の関数の変数」を覚えたまま動く仕組みです。外側関数の実行が終わっても、その値を保持し続けます。...
Python

Python | 関数:関数内関数

概要(関数内関数は「外側の処理専用の小さな関数」をその場で持つための仕組み)関数内関数(ネスト関数)は、ある関数の内部で別の関数を定義する書き方です。外側の関数にだけ関係する処理を内側に閉じ込めること...
Python

Python | 関数:ラムダ式

概要(ラムダ式は「その場で一行の小さな関数」を作るための構文)ラムダ式は、def を使わずに“その場で”一行で定義できる小さな関数(無名関数)です。書式は「lambda 引数: 式」。戻り値はその“式...
Python

Python | 関数:スコープ

概要(スコープは「変数が見える範囲」)スコープとは「変数や関数がどこから参照できるか」を決めるルールです。Python では ローカルスコープ(関数の中)、グローバルスコープ(ファイル全体)、さらに ...
Python

Python | 関数:**kwargs

概要(**kwargs は「名前付きの任意個の引数」を辞書で受け取る仕組み)**kwargs は、関数に渡された「キーワード引数(名前=値)」を、任意の個数まとめて受け取るための記法です。関数内では普...
Python

Python | 関数:可変長引数 *args

概要(*args は「いくつでも受け取れる位置引数」をまとめる仕組み)*args は、関数が受け取る「位置引数」を任意の個数まとめて受け取るための記法です。関数内ではタプルとして扱われ、合計・連結・ル...
Python

Python | 関数:デフォルト引数

概要(デフォルト引数は「省略しても動くための既定値」)デフォルト引数は、関数定義の引数に初期値を設定しておき、呼び出し時にその引数を省略できる仕組みです。使いどころは「ほとんどのケースで同じ値」「オプ...
Python

Python | 関数:引数と返り値

概要(引数は「入力」、返り値は「出力」——関数の往復の道筋)関数は「処理に名前をつけて再利用」する仕組みです。その入口が引数(関数に渡す値)、出口が返り値(return で返す結果)。引数で必要な材料...
Python

Python | 関数:def

概要(def は「処理に名前をつけて再利用」するためのキーワード)def は、よく使う処理をひとまとめにして名前をつけ、何度でも呼び出せるようにするためのキーワードです。関数化すると、重複コードが減っ...
Python

Python | データ構造:コレクションのコピー

概要(「代入」と「コピー」をまず分けて考える)コレクションのコピーは、元データを壊さず安全に加工するための基本です。まず重要なのは「= はコピーではない」ということ。= は“同じオブジェクトへの参照を...
Python

Python | データ構造:多重ループ

概要(多重ループは「ループの中でループ」を回す仕組み)多重ループ(ネストしたループ)は、ある集合を外側で順に処理しつつ、各要素ごとにさらに内側の集合を繰り返す書き方です。定番の例は「行×列の走査」や「...
Python

Python | データ構造:内包表記(set)

概要(セット内包表記は「重複なしの集合」を一行で作る)セット内包表記は、for と if を“内側”に書いて、重複を自動的に排除する集合(set)を一行で作る記法です。基本は「{式 for 変数 in...
Python

Python | データ構造:内包表記(dict)

概要(辞書内包表記は「キーと値を同時に作る」を一行で)辞書内包表記は、for と if を“内側”に書いて、新しい辞書を一行で作る記法です。基本は「{キー式: 値式 for 変数 in イテラブル}」...
Python

Python | データ構造:内包表記(list)

概要(リスト内包表記は「作る・選ぶ・変換する」を一行で)リスト内包表記は、for と if を“内側”に書いて、リストを一行で作る記法です。基本は「式 for 変数 in イテラブル」で、必要なら最後...
Python

Python | データ構造:filter

概要(filter は「条件を満たす要素だけ」を取り出す基本関数)filter は、リストやタプルなどの各要素に「判定関数」を適用し、True と評価された要素だけを取り出すための組み込み関数です。戻...
Python

Python | データ構造:map

概要(map は「全要素に同じ処理」を適用して返す)map は、リストやタプルなどの各要素に「指定した関数」を適用し、その結果を順に返す組み込み関数です。戻り値は「map オブジェクト」(イテレータ)...
Python

Python | データ構造:sorted

概要(sorted は「並び替えた新しいリスト」を返す基本関数)sorted は、リスト・タプル・文字列などの「反復可能なデータ」を並び替えて“新しいリスト”として返す組み込み関数です。元のデータは変...
Python

Python | データ構造:all

概要(all は「すべてが真なら True」を返す基本関数)all は、リスト・タプル・集合・辞書・ジェネレータなどのイテラブルの中の「全ての要素が True と評価されるか」を判定する組み込み関数で...
Python

Python | データ構造:any

概要(any は「ひとつでも真なら True」を返す基本関数)any は、リスト・タプル・集合・辞書・ジェネレータなどのイテラブルの中に「True と評価される要素が1つでもあるか」を調べ、あれば T...
Python

Python | データ構造:sum

概要(sum は「合計」を返す基本関数)sum は、リスト・タプル・集合・range など“足し算できる要素の集まり”から合計を求める組み込み関数です。数値はもちろん、True/False(1/0とし...
Python

Python | データ構造:min

概要(min は「一番小さいもの」を返す基本関数)min は、与えた複数の値や、リスト・タプル・集合などのイテラブルの中から「最小の要素」を返す組み込み関数です。数値だけでなく文字列やタプルなど“比較...
Python

Python | データ構造:max

概要(max は「一番大きいもの」を返す基本関数)max は、与えた複数の値や、リスト・タプル・集合などのイテラブルの中から「最大の要素」を返す組み込み関数です。数値だけでなく文字列やタプルなど“比較...
Python

Python | データ構造:len

概要(len は「大きさ」を返す基本関数)len は、文字列・リスト・タプル・辞書・集合などの「長さ(要素数)」を整数で返す組み込み関数です。書き方は len(対象) とシンプルで、辞書ならキーの数、...
Python

Python | データ構造:in / not in

概要(in / not in は「含まれるか」を判定する所属検査演算子)in / not in は、ある値がリスト・タプル・文字列・セット・辞書などの「中に含まれているか」を真偽値で返す演算子です。i...
Python

Python | データ構造:dict.values

dict.values の概要(値だけを“コピーせず”参照するビュー)dict.values は、辞書に入っている「値」の一覧を参照できるメソッドです。戻り値は dict_values という“ビュー...
Python

Python | データ構造:dict.keys

dict.keys の概要(キー一覧を“コピーせず”参照するビュー)dict.keys は、辞書に存在する「キー」をまとめて参照するためのメソッドです。戻り値は dict_keys という“ビュー”で...
Python

Python | データ構造:dict.items

dict.items の概要(キーと値を同時に扱うための“ビュー”)dict.items は、辞書の「キーと値のペア」をひとつずつ取り出すためのメソッドです。戻り値は dict_items という“ビ...
Python

Python | データ構造:dict.get

dict.get の概要(安全に値を取り出す“優しい参照”)dict.get は、辞書からキーに対応する値を「エラーなく」取り出すためのメソッドです。存在しないキーを指定すると、例外(KeyError...
Python

Python | データ構造:dict

辞書の概要(名前で値を取り出す「キーと値のペア」)dict(辞書)は「キー」と「値」をペアで管理するデータ構造です。リストが“番号(インデックス)”で取り出すのに対して、辞書は“名前(キー)”で直に参...
Python

Python | データ構造:set

set の概要(重複なし・順序なし・高速な「集まり」)set は「重複を許さない要素の集まり」を表すデータ構造です。要素の順序は保持されません(取り出す順番は不定)。同じ値を追加しても1つにまとまり、...
Python

Python | データ構造:tuple

タプルの概要(順序があり、変更できない「箱」)Pythonのタプルは、複数の値を順序付きでまとめる不変(イミュータブル)なデータ構造です。小括弧 () で作り、一度作成したら中身を追加・削除・変更でき...
Python

Python | データ構造:list のスライス

スライスの概要(リストの一部を取り出す・作り替える)スライスは、リストの「部分」を取り出したり、まとめて置き換えたり、挿入・削除したりできる強力な機能です。基本構文は a で、start から始め、s...
Python

Python | データ構造:list.remove

list.remove の概要(値で指定して最初の一致だけ削除)list.remove は、リスト内の「指定した値」と一致する最初の要素を削除するメソッドです。位置(インデックス)ではなく値で指定する...
Python

Python | データ構造:list.pop

list.pop の概要(要素を取り出しつつ削除する)list.pop は、リストから要素を取り出して同時に削除するメソッドです。戻り値として「取り出した要素」を返します。引数を省略すると末尾の要素、...
Python

Python | データ構造:list.reverse

list.reverse の概要(リストの順序をその場で逆にする)list.reverse は、リストの要素順を“その場で”逆順に並べ替えるメソッドです。元のリストが直接変更され、戻り値は None ...
Python

Python | データ構造:list.sort

list.sort の概要(リストを“その場で”並べ替える)list.sort は、リストの要素を指定した順序で並べ替えるメソッドです。元のリストを直接変更するインプレース操作で、戻り値は None(...
Python

Python | データ構造:list.insert

list.insert の概要(指定した位置に要素を挿入する)list.insert は「リストの任意の位置に新しい要素を挿入する」メソッドです。書式は list.insert(index, elem...
Python

Python | データ構造:list.append

list.append の概要(末尾に“1つだけ”追加する)append は、リストの末尾に要素を「1つ」追加するメソッドです。リストを可変に拡張する最も基本的な手段で、戻り値は返しません(None)...
Python

Python | データ構造:list

リストの概要(順序がある、後から変えられる「箱」)Pythonのリストは、複数の値を順序付きで並べて保持できる基本データ構造です。角括弧 [] で作り、整数・文字列・他のリストなど、異なる型を混ぜて入...
Python

Python | 文法の基本:finally

finally の概要(成功・失敗に関わらず必ず実行される後始末)finally は、try/except と組み合わせて使い、「例外が起きても起きなくても、最後に必ず実行したい処理」を書くためのブロ...
Python

Python | 文法の基本:try / except

try/except の概要(エラーを安全に処理してプログラムを続行)try/except は、処理中に起きる例外(実行時エラー)を捕まえて、プログラムを安全に続行したり、分かりやすいメッセージを出し...
Python

Python | 文法の基本:基本的なエラー

基本的なエラーの全体像(構文エラーと実行時エラー)Pythonの「エラー」は大きく、実行前に検出される構文エラーと、実行中に起きる例外(実行時エラー)に分かれます。構文エラーは文法違反が原因で、プログ...
Python

Python | 文法の基本:zip()

zip() の概要(複数の並びを“横に束ねる”)zip() は、複数のイテラブル(リスト、タプル、文字列など)を「同じ位置の要素どうし」で束ね、タプルの連続として返す関数です。for ループで「並行処...
Python

Python | 文法の基本:enumerate()

enumerate() の概要(要素とインデックスを同時に扱う)enumerate() は、イテラブル(リスト、タプル、文字列など)をループするときに「要素の値」と「インデックス番号」を同時に受け取れ...
Python

Python | 文法の基本:range()

range() の概要(整数の並びを効率的に作る)range() は「連続する整数のシーケンス」を生成するための組み込み関数です。for ループと相性が良く、指定した範囲の整数を必要なときに1つずつ取...
Python

Python | 文法の基本:pass

pass の概要(「何もしない」ための文)Python の pass は「その場で何も処理をしない」という意味を持つ文です。構文上「中身が必要」な場所に置くことで、プログラムをエラーなく通すための“空...
Python

Python | 文法の基本:continue

continue の概要(その周回だけをスキップする)continue は、for や while のループの「現在の周回の残り処理」を飛ばして、すぐ次の周回へ進む命令です。ループ自体は続行されます。...
Python

Python | 文法の基本:break

break の概要(ループをその場で抜ける)break は、for や while の「ループを途中で直ちに終了」させる命令です。実行された瞬間、そのループのブロックを抜けて、ループの次の行へ処理が移...
Python

Python | 文法の基本:while ループ

while ループの概要(条件が成り立つ間くり返す)while ループは「条件式が True の間、ブロック内の処理をくり返す」構文です。回数が事前に決まらないとき(入力待ち、一定状態になるまでの待機...
Python

Python | 文法の基本:for ループ

for ループの概要(反復処理の基本)for ループは「並び(イテラブル)の要素を先頭からひとつずつ取り出して処理する」ための構文です。リスト、タプル、文字列、辞書、集合、range() などに対して...
Python

Python | 文法の基本:else

else の概要(条件が外れたときの“受け皿”)else は、if(や elif)の条件がすべて成り立たなかった場合に実行する処理を書きます。分岐の「最後の受け皿」として、想定外や通常ケースの扱いを明...
Python

Python | 文法の基本:elif

elif の概要(複数条件を順番に判定する)elif は「else if」の略で、ひとつの分岐の中で条件を順番に並べ、最初に合致したブロックだけを実行するための構文です。if の直後、または別の el...
Python

Python | 文法の基本:if

if の概要(条件による分岐の基本)if は「もし条件が成り立つなら、この処理をする」を書くための文法です。条件式は True/False を返し、True のときだけブロック内のコードが実行されます...
Python

Python | 文法の基本:Python のインデント

インデントの役割(Pythonで「見た目」が文法になる)Pythonのインデントは、コードの「まとまり(ブロック)」を示すための文法そのものです。if、for、while、def、class、try ...
Python

Python | 文法の基本:f 文字列

f 文字列の概要(読みやすく速い文字列整形)f 文字列(f-strings)は、文字列の先頭に f を付け、波括弧 {} の中に変数や式を直接書ける仕組みです。Python 3.6 以降で使え、可読性...
Python

Python | 文法の基本:print() の基本

print() の概要(基本動作と戻り値)print() は、与えた値を「見やすい文字列」に変換して標準出力(画面)へ表示します。複数の値を並べて渡すと、間は半角スペースで区切られます。表示後は改行さ...
Python

Python | 文法の基本:input() の使い方

input() の概要(基本動作と戻り値)input() は、ユーザーがキーボードで入力した1行を読み取り、文字列(str)として返します。プログラムはユーザーが Enter を押すまで待機します。戻...
Python

Python | 文法の基本:型変換(int / str / float)

型変換の概要(int / float / str の基本)Pythonでは、数値や文字列などの「型」を状況に応じて変換できます。よく使うのは int(整数)、float(小数)、str(文字列)の相互...
Python

Python | 文法の基本:論理演算子

論理演算子の概要Pythonの論理演算子は and(論理積)、or(論理和)、not(否定)の3つです。条件式を組み合わせて「複雑な判定」を短く、読みやすく表現できます。結果は必ず真偽値(True/F...
Python

Python | 文法の基本:比較演算子

比較演算子の概要Pythonの比較演算子は、2つの値を比べて結果を真偽値(True/False)で返します。基本は「等しい(==)」「等しくない(!=)」「より小さい(<)」「より大きい(>)」「以下...
Python

Python | 文法の基本:代入演算子

代入演算子の概要(= と「値に名前をつける」)Pythonの代入演算子は「=」です。右辺の式を評価し、その結果オブジェクトへ左辺の名前を結びつけます。数学の「等しい」ではなく「割り当てる」の意味です。...
Python

Python | 文法の基本:算術演算子

算術演算子の概要Pythonの算術演算子は、足し算・引き算・掛け算・割り算に加えて、剰余(あまり)や冪乗(べき乗)、整数除算(切り捨て)まで含む「計算の道具箱」です。代表的なものは +, -, *, ...
Python

Python | 文法の基本:真偽値(bool)

真偽値の概要(bool の基本)Pythonの真偽値は True と False の2つだけで、条件分岐やループの「動かす/止める」を決める軸になります。型名は bool で、比較や論理演算の結果とし...
Python

Python | 文法の基本:文字列型(str)

文字列型の概要(str の基本)Pythonの文字列型(str)は、テキストデータを表現・操作するための基本データ型です。シングルクォート(')やダブルクォート(")で囲むだけで作れ、画面表示やファイ...
Python

Python | 文法の基本:数値型(int, float)

数値型の概要(int と float)Pythonの数値型には、主に整数を表す int と、小数を表す float があります。int は桁数の制限がなく、非常に大きな数でも桁あふれせずに扱えます。f...
Python

Python | 文法の基本:変数の基本

変数とは変数は「値に名前をつけて、あとから参照したり差し替えたりできる仕組み」です。Pythonでは型の宣言なしに、名前に値を代入するだけで使い始められます。変数はプログラムの途中結果や設定値、外部か...
Python

Python | 文法の基本:コメント記法

コメントとはコメントは、コードの意味や意図、注意点を「未来の自分や他人」に伝えるための説明文です。Pythonインタプリタはコメントを完全に無視するので、動作や出力には影響しません。わかりやすいコメン...
Python

Python | 文法の基本:インタプリタと実行方法

インタプリタとはPythonの「インタプリタ」は、あなたが書いたコードを1行ずつ読み取り、その場で実行してくれる通訳のようなソフトウェアです。書いてすぐ試せるので、初心者が「動く感覚」を掴みやすく、失...
Python

Python | 文法の基本:Python の特徴

Python の特徴Pythonは読みやすさと書きやすさを重視した言語で、初心者でも直感的にコードを書けるのが大きな魅力です。インデント(字下げ)でコードのまとまりを表すため、見た目が整理され、処理の...
スポンサーリンク
タイトルとURLをコピーしました