プログラミング

スポンサーリンク
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での自動クリックは、ボタンやリンクをプログラムから押す操作です。重要なのは、要素の特定(ロケータ)、明示的待機(表示・...
スポンサーリンク