python 中 *args 和 **kwargs 的用法对我来说很清楚,并且 SO 中存在很多问题(例如*args 和 **kwargs 的使用以及**(双星/星号)和 *(星号/星号)对参数做什么?)。
但我想理解的一件事是:为什么不能同时定义强制位置参数、强制 kwarg 参数并最终仍然允许捕获其他参数和 kwargs,如下所示cant_do_that?
def one_kwarg_is_mandatory(*, b, **kwargs):
print(b)
for key, value in kwargs.items():
print(key, value)
def one_pos_arg_and_one_kwarg_are_mandatory(a, *, b, **kwargs):
print(a, b)
for key, value in kwargs.items():
print(key, value)
# I wanted a mandatory arg (a) and possibly parse other args (*args),
# then a mandatory kwarg (b) and eventually other kwargs (**kwargs)
def cant_do_that(a, *args, *, b, **kwargs):
print(a, b) …Run Code Online (Sandbox Code Playgroud) 我有一个类似于以下内容的 mkdocs 项目:
\nproject\n\xe2\x94\x9c\xe2\x94\x80mkdocs.yml\n\xe2\x94\x9c\xe2\x94\x80docs\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80home.md\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80chapter1.md\n\xe2\x94\x82\n\xe2\x94\x9c\xe2\x94\x80static\n \xe2\x94\x9c\xe2\x94\x80file.ext\n \xe2\x94\x9c\xe2\x94\x80image.png\nRun Code Online (Sandbox Code Playgroud)\n我正在尝试找到一种“附加”file1.ext到构建的方法,例如作为chapter1.md.
有什么建议如何实现这一目标吗?详细信息:我希望单击即可下载该文件。
\n