From 683de917165dea2be0df3160835e0f7306a609c9 Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Wed, 5 Nov 2025 14:46:30 -0800 Subject: [PATCH] GH-108009: Add clarification of parser and argument defaults in argparse docs (GH-124154) (cherry picked from commit 95f6e1275b1c9de550d978cb2b4351cc4ed24fe4) Co-authored-by: Savannah Ostrowski Co-authored-by: C.A.M. Gerlach --- Doc/library/argparse.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Doc/library/argparse.rst b/Doc/library/argparse.rst index 0ee921e15260c4..2dca4a71a5361a 100644 --- a/Doc/library/argparse.rst +++ b/Doc/library/argparse.rst @@ -2071,7 +2071,9 @@ Parser defaults >>> parser.parse_args(['736']) Namespace(bar=42, baz='badger', foo=736) - Note that parser-level defaults always override argument-level defaults:: + Note that defaults can be set at both the parser level using :meth:`set_defaults` + and at the argument level using :meth:`add_argument`. If both are called for the + same argument, the last default set for an argument is used:: >>> parser = argparse.ArgumentParser() >>> parser.add_argument('--foo', default='bar')