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