diff --git a/Doc/library/argparse.rst b/Doc/library/argparse.rst index db5fae2006678a..7ecad466c80c9b 100644 --- a/Doc/library/argparse.rst +++ b/Doc/library/argparse.rst @@ -1052,6 +1052,10 @@ is used when no command-line argument was present:: >>> parser.parse_args([]) Namespace(foo=42) +Because ``nargs='*'`` gathers any supplied values into a list, an absent +positional argument yields an empty list (``[]``). Only a non-``None`` +*default* overrides this (so ``default=None`` still gives ``[]``). + For required_ arguments, the ``default`` value is ignored. For example, this applies to positional arguments with nargs_ values other than ``?`` or ``*``, or optional arguments marked as ``required=True``.