Pythonでの型ヒントの使用方法
Pythonの型ヒントは、コードの可読性と保守性を向上させるために役立ちます。特にクラス内でメソッドを定義する際に、エンクロージングクラス自身の型を引数や戻り値として使用することがあります。以下に、その具体的な方法とサンプルコードを示します。
サンプル1: 自クラスのインスタンスを返すメソッド
class MyClass:
def factory(cls) -> 'MyClass':
"""クラスメソッドで自クラスの新しいインスタンスを返す"""
return cls()
# 使用例
instance = MyClass.factory()
print(type(instance)) #
サンプル2: エンクロージングクラスの型を引数にとるメソッド
class Node:
def add_child(self, child: 'Node') -> None:
"""子ノードを追加するメソッド"""
# ここで実際に子ノードを追加する処理を行う
pass
# 使用例
root = Node()
child = Node()
root.add_child(child)
サンプル3: エンクロージングクラスの型を使った比較メソッド
class Product:
def __init__(self, price: float):
self.price = price
def is_more_expensive(self, other: 'Product') -> bool:
"""他の商品と比較して高価かどうかを返す"""
return self.price > other.price
# 使用例
product1 = Product(1000)
product2 = Product(500)
print(product1.is_more_expensive(product2)) # True
このように、Pythonの型ヒントを用いることで、メソッドの引数や戻り値がどのような型であるべきかを明確に示すことができます。これにより、エラーの発生を防ぐだけでなく、他の開発者がコードを理解しやすくなります。
