range(start, stop[, step])
这些方括号和逗号的含义是什么? 我知道这一步是可选参数,但这个概念对我来说仍然不清楚 如果你能提供一些很好的例子,以便下次python doc中的这些括号不会让我感到恐惧,那就太棒了
谢谢!
答案 0 :(得分:3)
方括号是旧的语法文档简写,“括号中的部分可以省略”。因此,将第二个,
和step
放在括号中,它表示您可以保留两者或省略两者,但保留,
并省略step
(反之亦然)是语法错误。
您有时会看到的另一种语法文档简写是<parameter>
,这意味着将参数的值(或变量或表达式;无论有效)放在文本所在的位置。 <>
未被保留。这些括号用于消除关键字和函数名称中的参数。
另一种简写是...
,这意味着“在此之前的部分可以根据需要重复。”
总而言之,您可以将max
函数记录为:
max(<value> [, <value> ...])
表示文字函数名称max
后面跟着文字(
然后是值;然后可选择,
和另一个值,根据需要重复,并以文字)
结尾。
它比BNF类型的语法更容易阅读,虽然不太精确,但即使您只有纯文本格式,也无法在不同的字体中设置关键字和文字,它也能正常工作。
答案 1 :(得分:1)
这意味着即使您未指定step
参数,也将使用默认值。在这种情况下,默认值为1
。方括号只是一个表示可选参数的python约定。
您可以通过显式指定步骤来覆盖默认值。
>>> range(0, 10, 2)
[0, 2, 4, 6, 8]
答案 2 :(得分:1)
这意味着您可以使用/ range
参数调用step
函数。
>>> range(1, 5, 1) # with `step` argument
[1, 2, 3, 4]
>>> range(1, 5) # without `step` argument
[1, 2, 3, 4]
所以,上面两个例子都有效。