Python

スポンサーリンク
Python

Python | While / for の図解比較版

初心者がつまずきやすいのは「いつ while を使うか、いつ for を使うか」。ここでは、両者の動き方を図解的に捉えながら、例題で違いを体感できるように説明します。動き方のイメージ図for ループの...
Python

Python | Break を使わずに同じ課題を解く方法(フラグ変数だけ、または関数の return だけ)

「最初に現れる3の倍数を見つけて、見つかったら全体の探索を終了して位置を出力する」を、あえて break なしで解く方法を、初心者向けに分かりやすく説明します。考え方の全体像目的: 条件が満たされたら...
Python

Python | ネストしたループで break を使う例

ネスト(入れ子)したループでは、「どのループを抜けるのか」をはっきり示すことが大切です。初心者がつまずきやすいポイントを避けつつ、使いどころ・避けどころ・代替手段を具体例で解説します。読み手が迷わない...
Python

Python | 実際のログ解析フロー例(前処理は bisect、分析は pandas)

実務では「まず軽量に範囲を絞る → その後詳細分析」という流れがよく使われます。ここでは bisect で前処理し、pandas で分析する一連のフローを例示します。ステップ1: 前処理(bisect...
Python

Python | 実際のログ解析での bisect と pandas の使い分け

ログ解析の現場では「軽量に処理したい場面」と「複雑な分析をしたい場面」があり、bisect と pandas の得意分野が分かれます。bisect を使うケース(サーバーログなど)特徴: 標準ライブラ...
Python

Python | 日時データの範囲検索を bisect と pandas で比較

同じ「10:00〜11:00 の範囲のログを抽出する」という課題を、標準ライブラリの bisect とデータ分析ライブラリの pandas で書き比べてみましょう。bisect を使った場合(標準ライ...
Python

Python | 同じ範囲検索を bisect と pandas で比較

「20〜40 の範囲の値を抽出する」という同じ課題を、標準ライブラリの bisect とデータ分析ライブラリの pandas で書き比べてみましょう。bisect を使った場合(標準ライブラリ)imp...
Python

Python | pandas の範囲検索 vs bisect の範囲検索

両方とも「範囲検索」に使えますが、対象データの規模や用途によって使い分けるのがポイントです。bisect の範囲検索対象: ソート済みの Python リスト仕組み: bisect_left と bi...
Python

Python | pandas の DataFrame を使った範囲検索

pandas を使うと、日時データや数値データの範囲検索がとても簡単に書けます。特にログ解析や時系列データ処理ではよく使われます。基本の流れDataFrame に日時や数値を格納条件式で範囲を指定(b...
Python

Python | bisect を使って日時データから範囲検索する方法

bisect はソート済みリストに対して高速に範囲検索ができます。日時データ(ログのタイムスタンプなど)を扱う場合も同じ考え方で使えます。基本の流れ日時データをソート済みリストにする(昇順が前提)検索...
Python

Python | bisect を使った範囲検索

bisect を使った範囲検索(例: 20〜40 の値をまとめて取り出す)bisect は「挿入位置」を返すので、範囲検索にも応用できます。例えば「20〜40 の値をまとめて取り出す」場合は、bise...
Python

Python | bisect を使って「値が存在するかどうか」を判定する方法

bisect は「挿入位置」を返すので、その位置を使って 値が存在するかどうか をチェックできます。基本の考え方bisect_left(a, x) は「x を挿入すべき左側の位置」を返す。その位置の要...
Python

Python | Pythonの標準ライブラリで二分探索を簡単に使う方法(bisect モジュール)

要点Python標準ライブラリの bisect モジュールを使うと、ソート済みリストに対して二分探索を簡単に実行できます。bisect_left や bisect_right を使えば、値を挿入すべき...
Python

Python | 線形探索(break を使う) vs 二分探索アルゴリズムの比較

リストや配列から特定の値を探すとき、線形探索と二分探索は代表的な方法です。ここでは break を使った線形探索と、より効率的な二分探索を並べて比較します。1. 線形探索(break を使う)def ...
Python

Python | break を使ったコード vs 使わないコードのパフォーマンス比較

大きなリストを検索する場合、break を使うかどうかで 処理時間 に差が出ます。1. break を使った場合(早期終了)import timedata = list(range(10_000_00...
Python

Python | break を使った方が読みやすい典型パターン vs 避けるべきパターン

「ここで終わり!」を明示できるのが break の強みですが、乱用すると逆に読みにくくなります。コード例で対比してみましょう。使った方が読みやすい典型パターン例1: 探し物が見つかったら即終了# br...
Python

Python | break を避けるべき場面(可読性・設計の観点)

break は便利ですが、乱用するとコードが読みにくくなったり、意図が分かりづらくなることがあります。以下のような場面では なるべく使わない方が良い とされています。1. 複雑な入れ子ループの中問題点...
Python

Python | break を使わずに同じことを実現する方法(フラグ変数や関数の return を使う)

break は便利ですが、必ずしも使わなくても同じことを実現できます。ここでは フラグ変数 と 関数の return を使った方法を比較してみましょう。1. フラグ変数を使う方法ループを最後まで回すけ...
Python

Python | break を使うべき典型的なケース集(初心者向け)

break は「ループを途中で強制終了する」ための命令です。どんな場面で役立つか、具体例をまとめます。1. ユーザー入力で終了条件を決めたいときケース: ユーザーが「終了」と入力したら処理を止めたい。...
Python

Python | not + and / or を組み合わせた実務でよく使うパターン

「not と and / or の組み合わせ」は、実務コードでよく出てくるけれど、初心者には少し読みにくいパターンです。ここでは よくある実務的な利用例 を整理してみます。よく使うパターン1. 「どち...
Python

Python | 実務でよくある読みやすい書き方のリファクタ例(not を使った悪い例 → 改善例)

「notを使った条件式」は初心者がよく書きがちですが、実務では読みづらさにつながることが多いです。ここでは 悪い例(読みづらい) → 改善例(読みやすい) を具体的に示します。よくあるリファクタ例例1...
Python

Python | テストデータを外部ファイルにして、CI/CDで環境ごとに切り替える方法(例:開発用と本番用で別データ)

実務では「開発用と本番用でテストデータを切り替える」仕組みをCI/CDに組み込むことで、環境ごとに適切なテストを自動実行できます。基本の考え方テストデータを外部ファイルに分ける例:test_cases...
Python

Python | 外部ファイルを使ったパラメータ化テストをCI/CDパイプラインに組み込む方法

外部ファイル(CSVやJSON)にまとめたテストケースを CI/CDパイプラインに組み込む方法を、初心者向けに整理してみます。全体の流れテストケースを外部ファイルに保存(CSVやJSON)pytest...
Python

Python | テストケースを外部ファイル(CSVやJSON)にまとめて読み込む方法

複雑な条件チェックをテストするとき、テストケースを外部ファイル(CSVやJSON)にまとめて管理すると便利です。これにより、テストコードとテストデータを分離でき、追加や変更が簡単になります。方法1:C...
Python

Python | 複雑な条件をテストデータ駆動(パラメータ化テスト)でまとめる方法

複雑な条件をテストするときは「テストデータ駆動(パラメータ化テスト)」を使うと、同じテスト関数で複数のケースを一気に確認できます。Pythonでは pytest の @pytest.mark.para...
Python

Python | 複雑な条件をテストしやすくする工夫(ユニットテストや条件分解)

複雑な条件は「動けばいい」だけではなく、テストしやすい形に分解することが大事です。実務ではユニットテストを組みやすくするために、条件式を整理する工夫がよく使われます。工夫1:条件を関数に分解する長い条...
Python

Python | 複雑な条件を読みやすくするためのテクニック(関数化や早期return)

複雑な条件式はそのまま書くと「何をチェックしているのか」が分かりにくくなります。実務では 関数化 や 早期return を使って読みやすく整理するのが定石です。テクニック1:関数化して名前で意味を伝え...
Python

Python | 「and と or を組み合わせた複雑な入力チェック」の例

実務では「and」と「or」を組み合わせて、複雑な入力チェックを行うことがよくあります。初心者向けに分かりやすい例をいくつか紹介します。例1:年齢と会員ステータスのチェック「18歳以上 かつ 会員登録...
Python

Python | and / or を組み合わせた複雑条件の読み方

初心者が いちばんつまずきやすい「and と or の組み合わせ」 を、図解・具体例・読み方のコツ つきでわかりやすく説明する。and と or が混ざると、文章でもコードでも「どっちが先に判定される...
Python

Python | 論理演算子まとめ表(図解つき)

初心者でもひと目でわかるように、論理演算子(and / or / not)を図解つきでまとめた表を紹介します。1. and(〜かつ〜)イメージ図[ 条件A ]───OK? \ \ 両方OKなら Tru...
Python

Python | 実務レベルの「条件チェックテンプレート」集

「条件チェックテンプレート集」として、実務でよく使うパターンを整理してみました。初心者でもすぐ応用できるように、入力チェック・エラーハンドリング・条件分岐改善の観点でまとめます。入力チェック系テンプレ...
Java

Java | 三次元版ライフゲーム(セルオートマトン)

三次元版ライフゲーム(セルオートマトン)の例題「ライフゲーム」は二次元の格子でよく知られていますが、三次元に拡張すると「立方体の中で細胞が生きたり死んだりする」シミュレーションになります。初心者向けに...
Python

Python | 月ごとに売上推移グラフを描く

標準ライブラリで月ごとの売上を集計し、グラフ描画には matplotlib を使うのが定番です。CSVから「日付」と「金額」を読み込み、月単位に合計して折れ線グラフにすれば、売上推移を直感的に確認でき...
Python

Python | 標準ライブラリ(csv + pathlib + collections + datetime)だけ を使って、「商品ごとに売上トップの月を抽出」する実践例

ここでは 標準ライブラリ(csv + pathlib + collections + datetime)だけ を使って、「月ごとに売上ランキング」を出す実践例を紹介します。想定データ(sales.cs...
Python

Python | 標準ライブラリ(csv + pathlib + collections + datetime)だけ を使って、「商品ごとに売上トップの月を抽出」する実践例

ここでは 標準ライブラリ(csv + pathlib + collections + datetime)だけ を使って、「商品ごとに売上トップの月を抽出」する実践例を紹介します。想定データ(sales...
Python

Python | ネストを平坦化する練習問題セット

では、「ネストを平坦化する練習問題セット(10問)」を紹介します。すべて ifの入れ子構造 → 平坦化(リファクタ) の練習形式です。Q1:単純な2段ネストif x > 0: if x < 10: p...
Python

Python | 標準ライブラリ(csv + pathlib + collections + datetime)だけ を使って、CSVを「商品ごと × 日付ごと」にクロス集計する実践例

ここでは 標準ライブラリ(csv + pathlib + collections + datetime)だけ を使って、CSVを「月ごと × 商品ごと」にクロス集計する実践例を紹介します。想定データ(...
Python

Python | 標準ライブラリ(csv + pathlib + collections + datetime)だけ を使って、CSVを「商品ごと × 日付ごと」にクロス集計する実践例

いいですね!ここでは 標準ライブラリ(csv + pathlib + collections + datetime)だけ を使って、CSVを「商品ごと × 日付ごと」にクロス集計する実践例を紹介します...
Python

Python | 標準ライブラリ(csv + pathlib + collections + datetime)だけ を使って、CSVファイルを「日付ごとに集計」する実践例

ここでは 標準ライブラリ(csv + pathlib + collections + datetime)だけ を使って、CSVファイルを「日付ごとに集計」する実践例を紹介します。想定データ(sales...
Python

Python | 標準ライブラリ(pathlib + csv + collections)だけ を使って「複数のCSVを結合して集計」する実践例

ここでは 標準ライブラリ(pathlib + csv + collections)だけ を使って「複数のCSVを結合して集計」する実践例を紹介します。想定するデータ例えば、sales_jan.csv ...
Python

Python | 標準ライブラリ(csv + pathlib + collections)だけ を使って、CSVファイルを「職業ごとの人数カウント」する実践例

ここでは 標準ライブラリ(csv + pathlib + collections)だけ を使って、CSVファイルを「職業ごとの人数カウント」する実践例を紹介します。サンプルデータ(people.csv...
Python

Python | レベル別練習問題:コメント

では、「Pythonコメントの書き方・docstring・TODO活用」をテーマにした全50問の練習問題集(自動採点用コード付き) を作ります。構成レベル1(基礎):Q1〜Q15 — コメント文の書き...
Python

Python | 標準ライブラリ(csv + pathlib)だけ を使って、CSVファイルを「フィルタリング」や「並べ替え」する実践例

ここでは 標準ライブラリ(csv + pathlib)だけ を使って、CSVファイルを「フィルタリング」や「並べ替え」する実践例を紹介します。応用例1: 条件でフィルタリング例えば people.cs...
Python

Python | pathlib を使ってCSVファイルを扱う実践例

ここでは pathlib を使ってCSVファイルを扱う実践例 を、初心者向けに分かりやすく紹介します。pathlib はファイルパス操作をシンプルにしてくれるので、CSVの読み書きと組み合わせるととて...
Python

Python | EXIFのカメラ機種・レンズ別に画像をまとめてHTMLギャラリーを作る

ここでは EXIFのカメラ機種・レンズ別に画像をまとめてHTMLギャラリーを作る 実践例を紹介します。これを使えば「Canonで撮った写真」「iPhoneで撮った写真」「50mmレンズで撮った写真」な...
Python

Python | 月別まとめ+位置情報マップ付きギャラリー

ここでは、これまでの「サムネイル化+EXIF日付別アルバム生成」に加えて、月別まとめページ(例: 2025-01, 2025-02 …)EXIFの位置情報(GPS)を読み出して地図表示までを組み込んだ...
Python

Python | EXIF日付別アルバム+タグフィルタ付きHTMLギャラリー

いいですね!ここまでの要素を全部組み合わせて、「フォルダ内の画像をサムネイル化 → EXIF日付ごとにアルバム分け → HTMLギャラリー生成 → タグでフィルタ表示」 する実践例をまとめます。概要P...
Python

Python | フォルダ内の画像をサムネイル化し、EXIF日付別アルバムでHTMLギャラリー生成

写真を日付ごと(撮影日)に自動分類し、サムネイル付きHTMLギャラリーを作る実践例です。pathlibでパス管理、Pillowでサムネイル生成とEXIF読み取り、HTMLはテンプレート文字列で生成しま...
Python

Python | フォルダ内の画像を一括でサムネイル化し、HTMLギャラリーを生成

短時間で「画像一覧ページ」を作りたいときの実用例です。pathlibでパス管理、Pillowでサムネイル生成、最後にHTMLを書き出します。Windows/macOS/Linux共通で動きます。前提準...
Python

Python | 「pathlib + Pillow」で画像を一括形式変換+リサイズ する実践例

では 「pathlib + Pillow」で画像を一括形式変換+リサイズ する実践例を紹介します。これを使えば「PNGを全部JPEGに変換しつつ、Web用にサイズを小さくする」といった処理が一気にでき...
Python

Python | 「pathlib + Pillow」で画像を一括形式変換する実践例

では 「pathlib + Pillow」で画像を一括形式変換する実践例 を紹介します。例えば「PNGを全部JPGに変換したい」といったときに役立ちます。必要な準備Pillow をインストール pip...
Python

Python | 「pathlib + Pillow」でフォルダ内の画像を一括リサイズする実践例

では 「pathlib + Pillow」でフォルダ内の画像を一括リサイズする実践例 を紹介しますね。これを使えば、例えば「大きな写真を全部まとめてサムネイル化する」といった処理が一気にできます。必要...
Python

Python | pathlib を使って画像ファイルを扱う実践例

では pathlib を使って画像ファイルを扱う実践例 を、初心者向けに分かりやすく紹介します。ここでは「画像ファイルの存在確認」「コピー」「フォルダ内の画像一覧取得」など、よくある操作を例題にします...
Python

Python | f文字列で書いたテンプレートを Jinja2 に書き換える練習問題

では、f文字列 → Jinja2 への変換を理解するための練習問題を、「ステップ付き(少しずつ変えて理解)」で作ります。練習問題:f文字列を Jinja2 テンプレートに書き換えよう前提Python ...
Python

Python | Jinja2 と f文字列 比較した実務上の使い分け

「f文字列」 vs 「Jinja2」 は、どちらも「テンプレートに値を埋め込む」仕組みですが、目的・スコープ・安全性が全く異なります。以下では、実務(Pythonスクリプト〜Webアプリ)でどう使い分...
Python

Python | f文字列でのローカライズ(通貨記号や桁区切りのロケール対応)

基本の考え方f文字列は「式を埋め込む」仕組みで、書式指定子を使って数値を整形できます。ただし「ロケール依存の桁区切りや通貨記号」を完全に扱うには locale モジュールや Babel などのライブラ...
Python

Python | 配列を使った 複数列の異なる計算式 の処理テンプレ

ここでは Python(NumPy / pandas) を例に、複数列に対して異なる計算をまとめて処理するテンプレートを紹介します。Python (NumPy) 版import numpy as np...
Python

Python | print出力+CSV/JSON保存 に加えて、日付ごとのフォルダに自動的に整理して保存する関数

ここでは、print出力+CSV/JSON保存 に加えて、日付ごとのフォルダに自動的に整理して保存する関数を作ります。目標表データをコンソール表示(整形済)CSV / JSON ファイル出力自動で o...
Python

Python | pandas.DataFrame で DataFrame → CSV/JSON/HTML 同時出力

pandas.DataFrame を受け取り、同じデータを CSV / JSON / HTML にまとめて出力する汎用関数を作ります。使い勝手の良さ(出力フォルダ生成、タイムスタンプ、圧縮、エンコーデ...
Python

Python | データ出力ユーティリティ関数

ここからは、「print+CSV+JSON出力」+「loggingでログも記録」 を一体化した実務でも通用する「データ出力ユーティリティ関数」を作っていきましょう。目的表データを整形して print表...
スポンサーリンク