プロジェクトが特定のサイズを超えたときに型パラメーターを指定するために、Python で docstring を使用するのが本当に好きです。
パラメータが特定のオブジェクトのリストであることを指定するために使用する標準を見つけるのに苦労しています。たとえば、Haskell 型では [String] または [A] を使用します。
現在の標準 (PyCharm エディターで認識可能):
def stringify(listOfObjects):
"""
:type listOfObjects: list
"""
return ", ".join(map(str, listOfObjects))
私が好むもの:
オプション1
def stringify(listOfObjects):
"""
:type listOfObjects: list<Object>
"""
return ", ".join(map(str, listOfObjects))
オプション 2
def stringify(listOfObjects):
"""
:type listOfObjects: [Object]
"""
return ", ".join(map(str, listOfObjects))
これは良い例ではなかったと思います。より適切な使用例は、リスト内のオブジェクトが特定のタイプでなければならない場合です。
より良い例
class Food(Object):
def __init__(self, calories):
self.calories = calories
class Apple(Food):
def __init__(self):
super(self, 200)
class Person(Object):
energy = 0
def eat(foods):
"""
:type foods: [Food] # is NOT recognised by editor
"""
for food in foods:
energy += food.calories
したがって、お腹がすいたという事実は別として、この例は、間違った種類のオブジェクトのリストで呼び出された場合、コードが壊れることを示しています。したがって、リストが必要なだけでなく、食品のリストが必要であることを文書化することが重要です。
関連する質問 PyCharm に、パラメーターが期待される型をどのように伝えることができますか? 上記よりも具体的な回答を探していることに注意してください。