This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author paul.j3
Recipients Julien Baley, docs@python, georg.brandl, paul.j3, r.david.murray
Date 2016-01-28.20:54:26
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1454014466.44.0.455339759237.issue25314@psf.upfronthosting.co.za>
In-reply-to
Content
How about:

    These store the values True and False respectively (and default to False and True if absent).

The reference to `store_const` is confusing, since almost no one uses that action.

The `store_const` paragraph has:

    (Note that the const keyword argument defaults to the rather unhelpful None.) 

But the most common `store` action also defaults to the default default None.  In fact most action types do that.

With 'store' action, None is a useful default, since its impossible to provide in the commandline.  Thus

     if args.foo is None:

is a clear test that 'foo' was not present in the commandline.  I can imagine using the same test on a 'store_const' argument (though I've never had the need to use it or recommend it).

I'm almost of the opinion that we should remove that parenthetical remark.

The 'const' parameter is used most often with 'store' and "nargs='?'", as illustrated in that 'nargs' subsection.

To complicate things, if I provide a "argument_default='boo'" parameter in the parser definition, it overrides all of these default defaults, including for 'store_true'.  In that case an explicit 'default=False' is *required*, not superfluous.

To further complicate things, 'parser.set_defaults' can override all of these.

We've almost given users too many ways of setting 'default'. :)  Fortunately in practice they don't use most of them.
History
Date User Action Args
2016-01-28 20:54:26paul.j3setrecipients: + paul.j3, georg.brandl, r.david.murray, docs@python, Julien Baley
2016-01-28 20:54:26paul.j3setmessageid: <1454014466.44.0.455339759237.issue25314@psf.upfronthosting.co.za>
2016-01-28 20:54:26paul.j3linkissue25314 messages
2016-01-28 20:54:26paul.j3create