这是__init__
默认的 HelpFormatter 类是:
def __init__(self,
prog,
indent_increment=2,
max_help_position=24,
width=None):
The ArgumentParser
类使用此函数来获取 Formatter 实例。该实例由以下人员使用format_help
创建帮助消息。
def _get_formatter(self):
return self.formatter_class(prog=self.prog)
where self.formatter_class
是你设置的参数。所以默认调用只设置prog
范围。
formatter = lambda prog: argparse.HelpFormatter(prog, width=100)
称为HelpFormatter
添加了width
范围。
这是一个等效的用法lambda
具有更简单的功能:
In [176]: def foo(x,y):
...: return x,y
...:
In [177]: bar = lambda y: foo('x_str',y)
In [178]: bar('y_str')
Out[178]: ('x_str', 'y_str')
还有其他方法可以做同样的事情,例如
def formatter(prog):
return argparse.HelpFormatter(prog, width=100)
or a HelpFormatter
子类。