如何理解python函数描述?

时间:2013-07-02 14:06:28

标签: python

我是Python的初学者。

我不懂Python函数描述。 例如,函数getopt

getopt.getopt(args, options[, long_options])

options[, long_options]是什么意思?

4 个答案:

答案 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是可选的,但argsoptions不是。 options之后的逗号也是可选的,但如果您指定long_options

则需要