方括号“[]”在函数/类文档中是什么意思?
我在弄清楚csv.dictreader的参数时遇到了困难,发现我对方括号的含义完全不明白。
根据文档:
class csv.DictReader(csvfile[, fieldnames=None[, restkey=None[, restval=None[, dialect='excel'[, *args, **kwds]]]]])
我希望能对这个类的参数进行一个总结。
谢谢!
4 个回答
2
这实际上是一个常用的记号,用来清晰地描述语言的语法,叫做巴科斯-诺尔形式(想了解更多可以去维基百科看看)。
2
通常在API文档中,方括号表示这个内容是可选的。我觉得在这里它们的意思也是一样的。
29
方括号表示这些参数是可选的。你可以不写它们。
所以,在这个例子中,你只需要传递csvfile
这个参数给csv.DictReader
。如果你传递第二个参数,它会被当作fieldnames
参数来处理。第三个参数就是restkey
,依此类推。
如果你只想指定比如csvfile
和dialect
,那么你需要明确地写出关键字参数,像这样:
csv.DictReader(file('test.csv'), dialect='excel_tab')
想了解更多关于关键字参数的内容,可以查看python.org教程的第4.7.2节。