現在、Pythonは私はそれがプログラマのエラーを削減すると思うので、私はPythonで "def"関数をオーバーロードして、型付き引数を受け入れる方法はありますか?
def f(x: int, A: list):
のような関数を定義できるようにしたいと思い
def f(x, A):
のような関数を定義することができます。
どうすればいいですか?
今私は
def f(x, A):
assert type(x) == int and type(A) == list, "Invalid parameters to function f"
に頼ることですが、私は、私はちょうどdef
関数のシグネチャを変更することができれば、それが簡単かもしれないと思います。
[この質問(「厳密に型指定されていますか?」)](http://stackoverflow.com/questions/11328920/is-python-strongly-typed)、[この1つ( "Function parameters types in Python")](http://stackoverflow.com/questions/2489669/function-parameter-types-in-python)も参照してください。 –
アサーションをオフにすることができます。あなたはプログラムフローのためにそれらに頼るべきではありません。また、Pythonには[タイプヒント](https://docs.python.org/3/library/typing.html)の機能が含まれていますが、静的な型指定や関数のオーバーロードはPythonツールよりもJavaツールです。 – TigerhawkT3
'def'は関数ではありません。署名はありません。あなたは 'return'や' while'を変更することができます。 – user2357112