Skip to content

Commit

Permalink
bpo-38843: Document behavior of default when the attribute is already…
Browse files Browse the repository at this point in the history
… set (pythonGH-23653)
  • Loading branch information
rhettinger authored Dec 7, 2020
1 parent 8a62887 commit 752cdf2
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion Doc/library/argparse.rst
Original file line number Diff line number Diff line change
Expand Up @@ -696,7 +696,7 @@ The add_argument() method
* const_ - A constant value required by some action_ and nargs_ selections.

* default_ - The value produced if the argument is absent from the
command line.
command line and if it is absent from the namespace object.

* type_ - The type to which the command-line argument should be converted.

Expand Down Expand Up @@ -1006,6 +1006,14 @@ was not present at the command line::
>>> parser.parse_args([])
Namespace(foo=42)

If the target namespace already has an attribute set, the action *default*
will not over write it::

>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo', default=42)
>>> parser.parse_args([], namespace=argparse.Namespace(foo=101))
Namespace(foo=101)

If the ``default`` value is a string, the parser parses the value as if it
were a command-line argument. In particular, the parser applies any type_
conversion argument, if provided, before setting the attribute on the
Expand Down

0 comments on commit 752cdf2

Please sign in to comment.