如果我有这样的功能:
def foo(name, opts={}):
pass
Run Code Online (Sandbox Code Playgroud)
我想在参数中添加类型提示,我该怎么做?我假设的方式给了我一个语法错误:
def foo(name: str, opts={}: dict) -> str:
pass
Run Code Online (Sandbox Code Playgroud)
以下不会抛出语法错误,但它似乎不是处理这种情况的直观方式:
def foo(name: str, opts: dict={}) -> str:
pass
Run Code Online (Sandbox Code Playgroud)
我在typing文档或Google搜索中找不到任何内容.
编辑:我不知道默认参数在Python中如何工作,但为了这个问题,我将保留上面的例子.一般来说,做以下事情要好得多:
def foo(name: str, opts: dict=None) -> str:
if not opts:
opts={}
pass
Run Code Online (Sandbox Code Playgroud)