お疲れ様です。Yuinaです。
今日は型ヒントについてお話していきます。
よろしくお願いいたします!
型ヒントってなに?
型ヒントとは、関数の引数や戻り値、変数に型を書いておくことで、どんなデータを扱うのか明示的に伝える手段です。
Pythonは、「あらかじめ変数の型(整数とか文字列とか)を宣言しなくてもOK」な言語です。
x = 10 # x は整数
x = "hello" # 後で文字列に変更できる
この柔軟さは便利ですが、予期せぬ型のデータが入ることでバグが起こりやすいという課題があります
小さなスクリプトでは問題なくても、大規模なコードでは意図しない型が混じりやすく、管理が難しくなります。
そこで登場するのが、型ヒントです。
型ヒントを使うことで、どんなデータを扱うのか明示的に伝えることが可能になります。
上の説明ではわかりずらいと思うので、メイクをテーマにPythonの型ヒントの書き方をお話していきます。
コードと説明
まず、メイクアップの関数を作成し、引数と戻り値に型ヒントを追加してみましょう。
例1:
def apply_makeup(lipstick: str, eyeliner: str) -> str:
return f"Applying {lipstick} lipstick and {eyeliner} eyeliner."
この関数では、lipstick
と eyeliner
の引数が文字列型(str
)であり、戻り値も文字列型であることを示しています。
次に、メイクアイテムのリストに型ヒントを追加します。
例2:
from typing import List
def apply_multiple_makeups(items: List[str]) -> None:
for item in items:
print(f"Applying {item}.")
複数のメイクアイテムをリストで管理する場合、リストの型を指定することができます。
ここでは、items
が文字列型のリストであることを示しています。
さらに、アイシャドウの色をオプションで指定できるようにするには、Optional
を使用します。
Optional
を使用することにより、引数が指定されない場合(None
)も許容することができます。
例3:
from typing import Optional
def apply_eye_shadow(color: Optional[str] = None) -> None:
if color:
print(f"Applying {color} eyeshadow.")
else:
print("Applying default eyeshadow.")
この関数では、color
が文字列型または None
である可能性があることを示しています。
他にもメイクアップの設定を辞書で管理する場合、辞書の型を指定できます。
例4:
from typing import Dict
def setup_makeup(config: Dict[str, str]) -> None:
for key, value in config.items():
print(f"{key}: {value}")
ここでは、config
が文字列型のキーと値を持つ辞書であることを示しています。
まとめ
今回は、型ヒントについてお話しました。
型ヒントはあくまで「ヒント」であり、Pythonの実行時には強制力を持ちません。つまり、型ヒントを記述しても、実行時に型が強制されるわけではなく、コードの動作に影響を与えることはないようです。
型ヒントは主にコードの可読性や保守性を向上させるための補助的な情報として機能するということがわかりました。
最後まで読んでくださって、ありがとうございました!