パラメータはどのオブジェクトでもかまいませんが、ドキュメントでは、期待するものを指定することが非常に重要です。
まず、以下のようなパラメータタイプを指定する方法は?
str
(またはString
またはstring
を使用しますか?)int
list
dict
Tuple
MyClass
のオブジェクトインスタンス次に、int
またはstr
よりも単一のパラメーターを処理できる関数のように、複数のタイプのパラメーターを指定するにはどうすればよいですか?
以下の例を使用して、提案されたソリューションでこれを文書化するために必要な構文を示してください。ドキュメント内から「Image」クラスへの参照をハイパーリンクできることが望ましいことに注意してください。
def myMethod(self, name, image):
"""
Does something ...
name String: name of the image
image Image: instance of Image Class or a string indicating the filename.
Return True if operation succeeded or False.
"""
return True
要件に対応できる限り、ドキュメントツール(sphinx、oxygenなど)の使用を提案することを歓迎します。
一般に、doxygenのパラメータタイプを文書化するための何らかのサポートがあることを示しています。以下のコードは機能しますが、パラメータ名に迷惑な$を追加します(最初はphp用に作成されたため)。
@param str $arg description
@param str|int $arg description
より良い方法があります。を使用しております
def my_method(x, y):
"""
my_method description
@type x: int
@param x: An integer
@type y: int|string
@param y: An integer or string
@rtype: string
@return: Returns a sentence with your variables in it
"""
return "Hello World! %s, %s" % (x,y)
それでおしまい。 PyCharmではIDEこれは大いに役立ちます。それは魅力のように機能します;-)
正しく解析するには、DoxygenのPython docstringの先頭に感嘆符を追加する必要があります。
def myMethod(self, name, image):
"""!
Does something ...
@param name String: name of the image
@param image Image: instance of Image Class or a string indicating the filename.
@return Return True if operation succeeded or False.
"""
return True
IDEAはこれが可能であることを示したので、このちょっとした情報をここに投稿すると思いました。
>>> def test( arg: bool = False ) -> None: print( arg )
>>> test(10)
10
test(
と入力すると、IDLEのドキュメントヒントが(arg: bool=False) -> None
とともに表示されます。これは、VisualStudioだけが実行したと思っていたものです。
これは正確にはdoxygenマテリアルではありませんが、コードを使用している人のパラメータータイプを文書化するのに適しています。
はい、@ docuは正しいです-これは、両方のドキュメントスキームを多かれ少なかれシームレスに組み合わせる(IMHOの最良の)方法です。一方、doxygenで生成されたインデックスページにテキストを配置するようなこともしたい場合は、次のように追加します。
##
# @mainpage (Sub)Heading for the doxygen-generated index page
# Text that goes right onto the doxygen-generated index page
Pythonコードの先頭のどこかにあります。
言い換えると、doxygenがPythonコメントを期待しない場合は、##
を使用して、タグがあることを警告します。期待する場合Pythonコメント(関数またはクラスの先頭など)には、"""!
を使用します。