このような機能がある場合:
def foo(name, opts={}):
pass
パラメータに型ヒントを追加したいのですが、どうすればよいですか?私が想定した方法では、構文エラーが発生します。
def foo(name: str, opts={}: dict) -> str:
pass
以下は構文エラーをスローしませんが、このケースを処理する直感的な方法のようには見えません。
def foo(name: str, opts: dict={}) -> str:
pass
typing
ドキュメントやGoogle検索で何も見つかりません。
編集:デフォルトの引数がPythonでどのように機能するかは知りませんでしたが、この質問のために、上の例をそのまま使用します。一般に、次のことを行う方がはるかに適切です。
def foo(name: str, opts: dict=None) -> str:
if not opts:
opts={}
pass
問題につながる-あなたは、変更可能なデフォルトのタイプ持っている
—
noɥʇʎԀʎzɐɹƆ
私の更新の答え、@josh見る
—
noɥʇʎԀʎzɐɹƆ
@noɥʇʎԀʎzɐɹƆメモなどに使用している場合を除きます。:P
—
Mateen Ulhaq
scala
言語も同じです。