Python

スポンサーリンク
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のような強制的なアクセス修飾子はありません。代わりに「内部用」を示す命名規...
スポンサーリンク