我是Python的初学者。
我不懂Python函数描述。
例如,函数getopt
getopt.getopt(args, options[, long_options])
options[, long_options]
是什么意思?
答案 0 :(得分:5)
这意味着方括号中的部分是可选。
来自http://docs.python.org/2/library/getopt.html:
long_options,,如果指定,必须是字符串列表...
如果你添加这个可选参数,你还需要添加逗号 - 如果你不添加它,你也不能添加逗号。
这种符号,BTW,是指定参数时的通常惯例,例如:也适用于可以传递给unix shell命令的命令行参数。
答案 1 :(得分:3)
您可以很好地了解EBNF语法,这是一种以正式方式指定各种语言或命令的语法的方法。虽然许多工具的语法文档不使用严格的EBNF,但它们通常借用其符号。例如。方括号表示可选组件。逗号形式上意味着连接,通常用于暗示方括号上下文中可选的多次重复符号。
Usage Notation
definition =
concatenation ,
termination ;
alternation |
option [ ... ]
repetition { ... }
grouping ( ... )
terminal string " ... "
terminal string ' ... '
comment (* ... *)
special sequence ? ... ?
exception -
某些工具/文档也会借用BNF语法,该语法使用大量尖括号< ... >
来指定表达式中的符号。
答案 2 :(得分:0)
对于命令行选项,常规选项包括-h
,而long选项为--help
。它们的意思相同但效果相同,但短版本前面只有一个连字符而不是两个连字符。
正如其他答案中所述,在这种情况下,options
是必需的,但long_options
不是它们在方括号中的原因。
答案 3 :(得分:0)
这是标记函数可选参数的标准方法。因此,在这种情况下long_options
是可选的,但args
和options
不是。 options
之后的逗号也是可选的,但如果您指定long_options