広告スペース(バナー)
🐍Python レッスン
基本文法の基礎8
データ構造とオブジェクト指向8
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 52 / 69

型を問わない汎用の関数

このレッスンでは、Pythonが動的型付け言語であることを活かした汎用的な関数の書き方を学ぶことを目標にします。「Python 動的型付け とは」「Python 汎用関数」で調べている方向けの内容です。

Pythonは動的型付け言語なので、関数は基本的にどんな型の値でも受け取れます。「型を1つに決めない、汎用的な関数」を書くことで、数値にも文字列にも同じロジックを使い回せます。型ヒントを使ったより厳密な言語(TypeScriptなど)と比較されることの多い、Pythonならではの柔軟性です。

サンプルコードでは、larger(a, b)という関数が、数値の比較にも文字列の比較にも同じロジックで対応しています。>演算子は数値同士なら大小を、文字列同士なら辞書順(アルファベット順)の比較を行うため、同じ関数のまま異なる型のデータに使い回せています。

柔軟な反面、意図しない型が渡されてもエラーにならず不具合につながることもあるため、必要に応じて型ヒントや事前チェックを組み合わせると安全性が高まります。数値と文字列を比較しようとした場合など、予想外の型の組み合わせで意図しない結果になることもあるので注意しましょう。

動的型付けの柔軟さと安全性のバランスを取ることが、Pythonでのコード設計の腕の見せどころです。実務の大規模開発では、型ヒントやmypyのような型チェックツールを併用して安全性を高める工夫がよく行われています。

Python
OUTPUT / 実行結果

💡 初回実行時はPythonエンジンの読み込みに数秒かかります。

🎯
ここまでできればゴール達成!
型を問わず使い回せる、便利な比較関数が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)