で型ヒントをデフォルトのパラメータ値を追加しますか?私は仮定の方法は、私の構文エラーを与える:は、Python
def foo(name: str, opts={}: dict) -> str:
pass
次は構文エラーをスローしませんが、それはこのケースを処理するための直感的な方法のように見えるしていません:
def foo(name: str, opts: dict={}) -> str:
pass
私ができますtyping
documentationまたはGoogle検索で何かを見つけることはできません。
編集:私はデフォルトの引数がPythonでどのように機能していたのか分かりませんでしたが、この質問のために上記の例を示します。一般的には、以下を行う方がはるかに優れています。
def foo(name: str, opts: dict=None) -> str:
if not opts:
opts={}
pass
最後の機能は正しい方法です。それは 'scala'言語と同じ方法です。 –
あなたは変更可能なデフォルトのタイプを持っています - それは問題につながります。 –
私の更新の回答をご覧ください、@josh –