Pythonのdocstringとは?3か月後の自分を助ける説明の書き方を初心者向けに解説
Pythonのdocstringを、コードに説明を書き慣れていない方にもわかるようにやさしく解説します。コメントとの役割の違い、PEP 257が示す1行と複数行の書き分け、help()が読んでいる正体、GoogleスタイルやNumPyスタイルの選び方、doctestで使用例をそのままテストにする方法、そして実装とずれたときの怖さまで。手元で動かした結果と比較表で整理します。
Tag
このテーマに関連するPython学習記事をまとめています。
Tagged Posts
46件
Pythonのdocstringを、コードに説明を書き慣れていない方にもわかるようにやさしく解説します。コメントとの役割の違い、PEP 257が示す1行と複数行の書き分け、help()が読んでいる正体、GoogleスタイルやNumPyスタイルの選び方、doctestで使用例をそのままテストにする方法、そして実装とずれたときの怖さまで。手元で動かした結果と比較表で整理します。
Pythonのdecimalモジュールを、数値の扱いに不安がある方にもわかるようにやさしく解説します。0.1+0.2が0.3にならない理由、Decimalに文字列を渡す決まり、quantizeで桁をそろえる書き方、既定の丸めが四捨五入ではない落とし穴、丸めモードの使い分け、消費税の計算例、そして速度やJSON保存といった苦手な面まで。手元で動かした結果と比較表で整理します。
Pythonの抽象クラスを、クラスの書き方を覚えたばかりの方にもわかるようにやさしく解説します。実装のし忘れが後回しになる理由、abcモジュールのABCとabstractmethodの書き方、ABCの継承を忘れたときの落とし穴、共通処理を親に置くやり方、collections.abcという身近な実例、registerで仲間に加える方法、そしてtypingのProtocolとの使い分けまで。手元で動かせるコードと比較表で整理します。
Pythonのuuidモジュールを、データベースにまだ自信のない方にも伝わるようにやさしく解説します。連番IDが行き詰まる理由、UUIDが128ビットでぶつからない仕組み、uuid4とuuid5の使い分け、そしてPython 3.14で追加されたuuid7が主キー向きと言われる理由まで。動かせるコードと比較表で、どれを選べばいいのかを整理します。
Pythonの@propertyを、クラスを書きはじめたばかりの方にもわかるようにやさしく解説します。ただの属性のままだと困る理由、ゲッターとセッターを属性の見た目で用意する書き方、読み取り専用にする方法、セッターで無限ループを起こす典型的な失敗、重い計算を1回で済ませるcached_property、そして使わないほうがいい場面まで。手元で動かせるコードと比較表で整理します。
Pythonのthreadingを、並行処理という言葉に身構えてしまう方にもわかるようにやさしく解説します。待ち時間の正体、Threadとjoinの基本、ThreadPoolExecutorで短く書く方法、GILがあっても速くなる理由、複数スレッドが同じ変数を触ったときに起きる事故とLockでの防ぎ方、そしてmultiprocessingやasyncioとの使い分けまで。動かせるコードと比較表で整理します。
Pythonのpickleを、標準ライブラリにまだ慣れていない方にも伝わるようにやさしく解説します。dumpsとloadsの基本、ファイルへ保存するときにバイナリモードを使う理由、JSONとの違い、pickleにできないこと、そして信頼できないデータを読み込むと任意のコードが動いてしまう危険まで。動かせるコードと比較表で、使ってよい場面と避けるべき場面を整理します。
Pythonのhashlibを、セキュリティにまだ自信のない方にも伝わるようにやさしく解説します。ハッシュとは何か、SHA-256の使い方、文字列をencodeする理由、ファイルの改ざんチェックに便利なfile_digest、そしてパスワード保存にSHA-256を使ってはいけない理由と、代わりに使うpbkdf2_hmacやscryptまで。動かせるコードと比較表で、安全な保存方法の考え方を整理します。
Pythonのモックを、テストを書き始めたばかりの方にも伝わるようにやさしく解説します。外部APIや現在時刻に依存したテストがなぜ不安定になるのか、標準ライブラリのunittest.mockで身代わりを作る方法、return_valueとside_effectの使い分け、patchでどこを差し替えるべきか、pytestのmonkeypatchとの違い、そして使いすぎたときに何が起きるのかまで。動かせるコードと比較表で、テストの土台を整理します。
PythonのPolarsを、pandasを触り始めた方にも伝わるようにやさしく解説します。Rustで書かれているとはどういうことか、複数のCPUコアを使う仕組み、インストールと最新バージョン、最初に動かす一本、pandasとの書き方の違い、indexが無いという最大の戸惑い、遅延実行という考え方、そして今から乗り換えるべきかどうかまで。動かせるコードと比較表を並べて、新しいデータ処理の入口を順番に整理します。
PythonのSQLAlchemyを、SQLが苦手な方にも伝わるようにやさしく解説します。ORMという考え方、CoreとORMという二階建ての構造、インストールと最新バージョン、テーブルをクラスとして書く最初の一本、Sessionという入れ物の役割、N+1問題という定番のつまずき、FlaskやFastAPIと組み合わせるときの注意まで。動かせるコードと表を並べて、データベース操作の入口を順番に整理します。
Pythonの機械学習ライブラリscikit-learnを、数式を使わずにやさしく解説します。ふつうのプログラムとの考え方の違い、インストールと最新バージョン、十数行で動く分類の例、fitとpredictという共通の作法、学習用とテスト用を分ける理由、前処理をまとめるPipeline、初学者がつまずきやすい点まで。手を動かせるコードと表を並べて、機械学習の入口を順番に整理します。
PythonのWebフレームワークDjangoを、IT初心者にもわかるようにやさしく解説します。インストールから開発用サーバーを立ち上げる手順、MTVという部品の分け方、モデルとマイグレーションでデータベースを扱う流れ、最初から付いてくる管理画面の便利さと注意点、FlaskやFastAPIとの使い分け、LTSの選び方まで。手を動かせるコードと表を並べて、Webアプリづくりの第一歩を順番に整理します。
PythonのライブラリSeleniumを、IT初心者にもわかるようにやさしく解説します。ドライバーの手配が要らなくなったインストール手順、要素の見つけ方、初心者がいちばんつまずく待ち方の使い分け、画面を出さずに動かすヘッドレスモードまで。動くコードと表を並べて、ブラウザ操作を自動化する第一歩を順番に整理します。
PythonのライブラリStreamlitを、IT初心者にもわかるようにやさしく解説します。インストールから最小のアプリを動かす手順、画面を触るたびにスクリプトが上から動き直す独特の仕組み、値を持ち越すsession_state、重い処理を一度だけにするキャッシュ、FlaskやFastAPIとの使い分けまで。手を動かせるコードと表を並べて、Pythonだけで画面を作る第一歩を順番に整理します。
Pythonのmypyを、IT初心者向けにやさしく解説します。型ヒントを書いても実行時には検査されない理由、mypyを入れて1ファイルにかけるまでの手順、エラーメッセージの読み方、Noneのすり抜けを事前に止める使い方、型を書いていない関数が見逃される既定の挙動と--strict、pyproject.tomlでの設定、Ruffやpytestとの役割の違いまで、手元で動かせるコードと表で順番に整理します。
Pythonの再帰関数を、IT初心者向けにやさしく解説します。自分自身を呼び出すという不思議な仕組みの読み解き方、処理を止めるための終了条件、RecursionErrorが出たときに見るべき場所、ループとの使い分け、フォルダをたどるような入れ子構造での本領発揮、そしてlru_cacheで遅い再帰を一気に速くする方法まで、手元で動かせるコードと表で順番に整理します。
PythonのWebフレームワークFastAPIを、IT初心者にもわかるようにやさしく解説します。インストールから最小のAPIを動かす手順、型ヒントがそのまま入力チェックになる仕組み、自動で作られるAPIドキュメント、FlaskとのASGI・WSGIの違い、async defとdefの使い分け、初学者がつまずきやすい落とし穴まで。手を動かせるコードと表を並べて、APIづくりの第一歩を順番に整理します。
Pythonのwhile文を、IT初心者向けにやさしく解説します。for文との使い分け、リストが空になるまで回す書き方、while Trueと無限ループの正しい付き合い方、止まらなくなったときの止め方、breakとcontinueの違い、while ... elseの独特な動き、セイウチ演算子で条件をすっきりさせる方法、そして実務で出番の多いリトライ処理まで、手元で動かせるコードと表を並べながら順番に整理します。
Pythonのtimeモジュールを、IT初心者向けにやさしく解説します。time.sleep()で処理を待たせる書き方と、指定した秒数ぴったりでは戻らない理由、Webアクセスの間隔調整や失敗時の指数バックオフ、time.time()ではなくperf_counter()で処理時間を測るべき理由、monotonicやprocess_timeとの使い分け、timeitで正しく速さを比べる方法まで、手元で動かせるコードと表を並べながら順番に整理します。
Pythonでファイルを開いたときの文字化けやUnicodeDecodeErrorを、IT初心者向けにやさしく解説します。文字コードとは何か、strとbytesの違い、encodeとdecodeの使い分け、errors引数の正しい距離感、open()でencodingを省略してはいけない理由、ExcelのためのUTF-8 BOM、そしてPython 3.15でUTF-8が既定になる変更まで、手元で動かせるコードと表を並べながら順番に整理します。
Pythonの標準ライブラリshutilを、IT初心者向けにやさしく解説します。copyとcopy2で何が変わるのか、copyfileがフォルダを受け取れない理由、copytreeが2回目に失敗するときの対処、moveの意外な振る舞い、rmtreeを使うときの心構え、make_archiveでzipを1行で作る方法まで。手元で試せるコードと表を並べながら、ファイル整理の自動化を順番に整理していきます。
Pythonの文字列メソッドを、IT初心者向けにやさしく解説します。余分な空白を落とすstrip、区切って分けるsplit、置きかえるreplaceといった定番の使い方から、stripの引数が文字の集合として扱われる落とし穴、Python 3.9で加わったremoveprefixとremovesuffix、全角数字でisdigitがTrueになる話まで。手元で動かせるコードと表を並べながら、実務で効いてくる整形のコツを順番に整理していきます。
PythonのPillowを、IT初心者向けにやさしく解説します。インストール名とimport名が違う理由、Image.openで中身を確認する方法、resizeとthumbnailの使い分け、JPEGで保存できないときの原因、フォルダごと一括処理する書き方、スマホ写真が横向きになるEXIFの落とし穴まで。手元で動かせるコードと表を並べながら、画像作業を自動化する第一歩を順番に整理していきます。
Pythonでテキストファイルを読み書きする方法を、IT初心者向けにやさしく解説します。open関数の書き方、モードの選び分け、with文が必要な理由、読み込みの3つのやり方、追記と上書きの違い、encodingを指定して文字化けを防ぐ方法、そしてPython 3.15で変わる既定のエンコーディングまで、動かせるコードを並べながら順番に紹介します。
PythonのWebフレームワークFlaskを、IT初心者向けにやさしく解説します。インストールから最小のアプリを動かす手順、ルーティングとデコレータの関係、URLの型指定や末尾スラッシュの落とし穴、テンプレートによる画面づくり、開発用サーバーを本番で使ってはいけない理由、拡張ライブラリの足し方まで。手を動かせるコードと表を並べながら、Webアプリ作りの第一歩を順番に整理していきます。
PythonのBeautifulSoupを、IT初心者向けにやさしく解説します。インストールからHTMLの読み込み、findとfind_allの違い、CSSセレクタを使うselect、requestsとの組み合わせ方、NoneTypeエラーや相対URLといったつまずきポイント、robots.txtと取得マナーまで。手元で動かせるコードと表を並べながら、Webページから欲しいデータを取り出す第一歩を順番に整理していきます。
Pythonのopenpyxlを、IT初心者向けにやさしく解説します。インストールから読み込み、セルの指定の仕方、iter_rowsでの一括読み取り、新しいブックへの書き出し、数式が計算されない理由、pandasとの使い分け、大きなファイルを扱うread_onlyモードまで。手元で動かせるコードと表を並べながら、毎月のExcel作業を自動化する第一歩を順番に整理していきます。
Pythonの辞書(dict)を、IT初心者向けにやさしく解説します。キーと値の組で持つ仕組み、角かっことgetの使い分け、items()でのループ、setdefaultによるグループ分け、キーにできる型とできない型、そして並び順が保たれるようになった経緯まで。手元で動かせるコードと表を並べながら、実務でつまずきやすいところを順番に整理していきます。
Pythonの定番グラフ描画ライブラリmatplotlibを、IT初心者向けにやさしく解説します。最初の1枚の描き方、FigureとAxesという2つの土台、pyplot方式とオブジェクト指向方式の使い分け、折れ線や棒グラフの描き分け、日本語が豆腐になる問題の直し方、画像として保存する方法まで。動かせるコードと表で順番に整理していきます。
Pythonで乱数を扱うrandomモジュールを、IT初心者向けにやさしく解説します。randintとrandrangeの終わりの違い、choiceやshuffleやsampleの使い分け、seedで結果を固定して再現性を作る方法まで。さらに、randomの乱数がなぜ本当の偶然ではないのか、パスワードやトークンにはsecretsを使うべき理由も、動かせるコードと表で順番に整理していきます。
数値計算ライブラリNumPyを、IT初心者向けにやさしく解説します。ndarrayとリストの違い、dtypeで型がそろう意味、forループを書かずに計算するベクトル化、形の違う配列どうしを計算するブロードキャスト、行と列での集計まで。手元で実際に測った速度差や、スライスがコピーではなくビューになる落とし穴も、動かせるコードと表で順番に整理していきます。
Pythonの標準デバッガpdbを、IT初心者向けにやさしく解説します。breakpoint()を1行書いて止める方法、n・s・c・p・lといった最低限の操作、エラーが起きたあとから原因の場所へ飛べる事後デバッグ、PYTHONBREAKPOINT=0でまとめて無効にする書き方まで。printを書いては消す往復から抜け出すための考え方を、手元で動かせるコードと表で順番に整理していきます。
Pythonの環境変数を、IT初心者向けにやさしく解説します。os.environとos.getenvの違い、値が必ず文字列で返ってくる理由、読み込みのタイミング、python-dotenvで.envファイルを読む方法、.gitignoreに書いて鍵をコミットしない運用まで。APIキーをコードから追い出すための考え方と、起動時に設定漏れを検出する書き方を、手元で動かせるコードと表で整理していきます。
Pythonのスライスを、IT初心者向けにやさしく解説します。start・stop・stepの意味、末尾がなぜ含まれないのか、マイナスの添字で末尾から数える書き方、[::-1]で逆順にする方法まで。範囲を外れてもエラーにならない性質や、スライスがコピーを作るときの落とし穴もあわせて紹介します。手元で動かせるコードと表を並べながら、実務での使いどころを順番に整理していきます。
Pythonの集合(set)を、IT初心者向けにやさしく解説します。重複が自動で消える仕組み、リストより存在チェックが速い理由、和集合や差分といった集合どうしの計算、そしてfrozensetの使いどころまで。空の集合を作るときの落とし穴や、順番が保たれないことによる失敗もあわせて紹介します。手元で動かせるコードと表を並べながら、実務での使い分けを順番に整理していきます。
Pythonの並べ替えを、IT初心者向けにやさしく解説します。元のリストを書き換えるsortと、新しいリストを返すsortedの違い。key引数で名前順や点数順に並べ替える書き方。安定ソートという性質を使った複数条件の並べ替えや、operator.itemgetterによる短い書き方まで。手元で動かせるコードと表を並べながら、実務での使いどころと落とし穴を順番に紹介します。
Pythonの標準ライブラリfunctoolsを、IT初心者向けにやさしく解説します。同じ計算を繰り返さずに済ませるlru_cacheとcache、引数を先に埋めておくpartial、自作デコレータで関数の名前を守るwraps、重い計算を一度だけにするcached_property、そして今も残るreduceまで。手元で動かせるコードと表を並べながら、実務での使いどころと注意点を順番に紹介します。
Pythonから外部コマンドを実行するための標準ライブラリsubprocessを、IT初心者向けにやさしく解説します。subprocess.runの基本形、出力を受け取るcapture_outputとtext、初心者が事故を起こしやすいshell=Trueの危険性、check=Trueによる失敗の検知、timeoutの使い方、そしてos.systemとの違いまで、動かせるコードを並べながら順番に紹介します。
Pythonで表データを扱うときに使う標準ライブラリのcsvモジュールを、IT初心者向けにやさしく解説します。readerとDictReaderの読み分け、書き出しの手順、初心者がほぼ必ずぶつかるnewlineの空行問題とExcelでの文字化け、タブ区切りへの対応、そしてpandasとの使い分けまで、動かせるコードを並べながら順番に紹介します。
PythonでWebからデータを取得するときに使うrequestsライブラリを、IT初心者向けにやさしく解説します。インストールの方法、GETリクエストの書き方、レスポンスの読み方、文字化けの直し方、raise_for_statusによるエラー処理、そして書き忘れると危ないtimeoutまで、実際に動かせるコードを並べながら順番に紹介します。
Python標準ライブラリのcollectionsについて、出番の多いCounter・defaultdict・deque・namedtupleの4つをIT初心者向けにやさしく解説します。素のdictやlistで書いた場合との違い、実際に動かした実行結果、10万件で測った速度差、使い分けの目安まで順番に紹介します。
Python標準のasyncioについて、async/awaitが何をしているのか、なぜ待ち時間が減るのかをIT初心者向けにやさしく解説します。asyncio.runやgatherの使い方、Python 3.11で入ったTaskGroup、向いている処理と向いていない処理の見分け方まで、実際に動かしたコードと実行結果を見ながら紹介します。
Python標準のdataclassについて、何が自動で作られるのか、どんな場面で使うと効くのかをIT初心者向けにやさしく解説します。default_factoryやfrozenといったよく使うオプション、__post_init__などの実務で効く小技、dictやPydanticとの使い分けまで、動くコードを見ながら紹介します。
Rustで書かれたPythonのパッケージ管理ツールuvについて、なぜ速いのか、pipやPoetryと何が違うのかをIT初心者向けにやさしく解説します。インストール方法や基本コマンド、1ファイルのスクリプトを配布する使い方、学習中の人が乗り換えるべきかの判断材料まで紹介します。
2026年10月にリリース予定のPython 3.15について、lazy import、frozendict、UTF-8のデフォルト化などの新機能をIT初心者向けにやさしく解説します。今から試す方法や、学習中の人がどこまで気にすればいいのかもあわせて紹介します。
Python学習ロードマップ
記事で気になったテーマを、順番に手を動かしながら学べます。
Step 1
未受講受講後にできること
Step 2
未受講受講後にできること
Step 3
未受講受講後にできること