早先对 Python *args, **kwargs 参数有所了解,也知道参数列表中的 /
表示 Positional Only, *
很少见。然而在使用 FastAPI 时看到路由函数中表示默认值采用了 ...
的方式又重新激发起我对 Python 函数参数的 *
, /
, *args
, 和 **kwargs
的兴趣。
如 FastAPI 官方文档 Request Forms and Files 中的
@app.post("/files/")
async def create_file(file: bytes = File(...), fileb: UploadFile = File(...), token: str = Form(...)):
默认值的 File(...)
, Form(...)
, 起初还以为 ...
只是真正意义上的省略号,使用时需传入适当的参数,后来发现 ...
居然是一个 Python 实实在在的内置对象。 阅读全文 >>