[3.15] GH-61082: Clarify nargs='*' positional default behavior (GH-150989) (#151168)

GH-61082: Clarify nargs='*' positional default behavior (GH-150989)
(cherry picked from commit bc37a227b2)

Co-authored-by: Savannah Ostrowski <savannah@python.org>
This commit is contained in:
Miss Islington (bot) 2026-06-09 17:46:39 +02:00 committed by GitHub
parent 804be0a223
commit fda4f22d60
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1051,6 +1051,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``.