在任何python API文档中,为什么可选参数都是以嵌套样式编写的?
只是,为什么要这样做:在任何python API文档中,为什么可选参数都是以嵌套样式编写的?,python,optional-parameters,Python,Optional Parameters,只是,为什么要这样做: find([spec=None[, fields=None[, skip=0[, limit=0[, timeout=True[, snapshot=False[, tailable=False[, sort=None[, max_scan=None[, as_class=None[, slave_okay=False[, await_data=False[, partial=False[, manipulate=True[, read_preference=ReadPr
find([spec=None[, fields=None[, skip=0[, limit=0[, timeout=True[, snapshot=False[, tailable=False[, sort=None[, max_scan=None[, as_class=None[, slave_okay=False[, await_data=False[, partial=False[, manipulate=True[, read_preference=ReadPreference.PRIMARY[, exhaust=False[, compile_re=True[, **kwargs]]]]]]]]]]]]]]]]]])
这看起来既丑陋又令人困惑,但在我遇到的每一个api文档中都会出现,我可能缺乏一些基本的python知识。我没有任何可靠的来源来支持我的陈述 以嵌套样式显示的可选位置参数将强制字段的正确顺序 例如,在模块中 指示mode和bufsize是可选的,但如果指定bufsize,则还应指定mode 另一方面,对于Keywords参数,在没有任何命令强制的情况下指定默认值,以指示该值是可选的,在这种情况下,参数将使用默认值初始化 例如,在[re]模块中
这是一个借鉴的惯例。正如上面Abhijit所指出的,嵌套意味着可选参数等的可选性
os.fdopen(fd[, mode[, bufsize]])
split(string, maxsplit=0)