方括号“[]”在函数/类文档中的含义是什么?

时间:2009-11-11 23:50:59

标签: python

我无法搞清楚csv.dictreader的参数,并意识到我不知道方括号是什么意思。

来自文件:

class csv.DictReader(csvfile[, fieldnames=None[, restkey=None[, restval=None[, dialect='excel'[, *args, **kwds]]]]])

我很欣赏类实例化的参数摘要。

由于

4 个答案:

答案 0 :(得分:19)

方括号表示这些参数是可选。你可以把它们留下来。

因此,在这种情况下,只有必需才能将csvfile参数传递给csv.DictReader。如果您传递第二个参数,它将被解释为fieldnames参数。第三个是restkey等等。

如果您只想指定例如cvsfiledialect,那么您必须明确命名关键字参数,如下所示:

csv.DictReader(file('test.csv'), dialect='excel_tab')

有关关键字参数的更多信息,请参阅python.org上教程的section 4.7.2

答案 1 :(得分:2)

通常在api文档中,方括号表示可选。我认为他们的意思相同。

答案 2 :(得分:2)

这实际上是广泛使用的符号的一个子集,用于明确描述称为Backus-Naur Form的语言语法(详见维基百科文章)。

答案 3 :(得分:1)

重申其他人所说的话,这些论点是可选的。

如果您遗漏了可选部分,剩余的fieldnames=restval=restkey=dialect=关键字会告诉函数哪些部分缺失。

语法不建议它,但如果关键字允许以任何顺序对参数进行特定,我不会感到惊讶,除了最后两个参数必须同时指定,或者两者都被省略。