Wenn ich eine Funktion wie diese habe:
def foo(name, opts={}):
pass
Und ich möchte den Parametern Typhinweise hinzufügen. Wie mache ich das? Die Art und Weise, wie ich angenommen habe, gibt mir einen Syntaxfehler:
def foo(name: str, opts={}: dict) -> str:
pass
Das Folgende löst keinen Syntaxfehler aus, aber es scheint nicht die intuitive Art zu sein, diesen Fall zu behandeln:
def foo(name: str, opts: dict={}) -> str:
pass
Ich kann in der typing
Dokumentation oder in einer Google-Suche nichts finden .
Bearbeiten: Ich wusste nicht, wie Standardargumente in Python funktionieren, aber für diese Frage werde ich die obigen Beispiele beibehalten. Im Allgemeinen ist es viel besser, Folgendes zu tun:
def foo(name: str, opts: dict=None) -> str:
if not opts:
opts={}
pass
scala
macht es auch die Sprache.