Pythonの関数で引数の型指定を行う方法
Pythonでは関数の引数に型ヒントを指定することで、コードの可読性を高め意図を明確にできます。型ヒントは引数名の後にコロン (:) を付けて記述します。
型ヒントはあくまで「ヒント」であり、Pythonの動的型付けの性質を変えるものではないため、型が一致しない場合でも「実行時にエラーにならない」ことに注意が必要です。しかし、型ヒントを使用することで静的解析ツール(mypyなど)やIDEのサポートが向上し、バグの早期発見や開発効率の向上が期待できます。
また、型ヒントはPython 3.5以降で導入された機能であるため、古いバージョンのPythonでは利用できない点に注意してください。
【サンプルコード】
def add(a: int, b: int) -> int:
return a + b
result = add(3, 5)
print(result)
【実行結果】
8
上記のコードでは引数aとbが整数型 (int) であること、戻り値も整数型であることを明示しています。-> int の部分は戻り値の型アノテーションと呼ばれ、関数の戻り値の型を示します。
引数にデフォルト値を設定し型指定を行う方法
Pythonでは引数にデフォルト値を設定でき、さらに型ヒントを追加できます。型ヒントを追加できることによって、デフォルト値を持つ引数の型が明確になります。基本的な構文は通常の引数の型指定と同じですが、デフォルト値は型ヒントの後に = で記述する必要があります。
【サンプルコード】
def greet(name: str = "Guest") -> str:
return f"Hello, {name}!"
print(greet())
print(greet("Alice"))
【実行結果】
Hello, Guest!
Hello, Alice!
上記のコードでは、引数nameが文字列型 (str) であることが明示されており、デフォルト値として"Guest"が設定されています。この設定により引数が省略された場合でも、関数が文字列型の引数を期待していることが保証されます。
デフォルト値を持つ引数は型ヒントを省略することも可能ですが、型ヒントを記述することでコードの可読性と保守性が向上することを覚えておくと良いでしょう。。
Pythonで可変長引数に型指定を行う方法
複数の引数を受け取る場合、可変長引数 (*args) やキーワード可変長引数 (**kwargs) にも型ヒントを指定できます。可変長引数の場合はtypingモジュールのTupleを、キーワード可変長引数の場合はDictを使用することが一般的です。
【サンプルコード】
from typing import Tuple, Dict
def sum_numbers(*numbers: Tuple[int, ...]) -> int:
return sum(numbers)
def describe_person(**details: Dict[str, str]) -> None:
for key, value in details.items():
print(f"{key}: {value}")
result = sum_numbers(1, 2, 3, 4)
print(result)
describe_person(name="Alice", age="30", city="New York")
【実行結果】
10
name: Alice
age: 30
city: New York
sum_numbers関数だと*numbersは整数のタプル (Tuple[int, ...]) として扱われ、Tuple[int, ...]と記述することでタプル内の要素が全て整数型であることを示します。
キーワード可変長引数のdescribe_person関数では、**details が文字列をキーとし、文字列を値とする辞書型(Dict[str, str])として扱われることを示しています。このように可変長引数に型ヒントを追加することで、関数がどのような入力を受け取るかを明確にすることが可能です。
また、*args は任意の数の位置引数をタプルとして受け取り、**kwargs は任意の数のキーワード引数を辞書として受け取ります。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
Gitでブランチ(branch)を作成する方法
crontabの書き方
PDFをExcelに変換する方法
Excelでプルダウンを設定する方法
エクセルでページ区切りを設定する方法
Markdownの取り消し線の書き方
ラズベリーパイでできること9選
Gitでbranch(ブランチ)を削除する方法をローカル・リモート別に解説
git addの取り消し方法を状況別に解説
CSSのstickyプロパティでWebサイトに固定要素を実装する方法
ITやプログラミングに関するニュース
アイアール技術者教育研究所がエクセルギー解析計算ウェビナーを開催、省エネと環境負荷低減に貢献
フラー株式会社がアプリ市場トレンド解説ウェビナーを3月25日に開催、成長アプリの共通項とデータ活用を解説
株式会社BOTANICOが2026年版X運用最新戦略ウェビナーを開催、成果につなげる資産型運用を解説
AIストーム株式会社がOpenClaw活用セミナーを開催、AIエージェントがビジネス現場を変革
株式会社オロが建設コンサルティング業向けウェビナーを開催、技術部門の損益可視化を支援
アルティウスリンク株式会社が経理向けBPO活用ウェビナーを開催、課題解決と業務効率化を支援
株式会社日本計画研究所がAI時代のインフラセミナー開催、GPUとデータセンターの課題を解説
株式会社カウンターワークスがリーシング業務AI活用ウェビナー開催、既存ツールでAIエージェント実践
株式会社セキドがDJI産業機セミナーを福井で開催、3Dデータ活用と機材選定を無料解説
株式会社ナビットが補助金活用ウェビナーを開催、販促費削減と集客力向上を解説
