paul j3 added the comment:
The handling of defaults is a bit complicated.
Note that `set_defaults` both sets a `_defaults` attribute, and any actions
with a matching `dest`. So it could change the `default` of 0, 1 or more
actions.
def set_defaults(self, **kwargs):
New submission from Karl O. Pinc:
In the argparse library parser library, contrary to the documentation,
parser-level defaults do not always override argument-level defaults.
https://docs.python.org/3.5/library/argparse.html#argparse.ArgumentParser.set_defaults
says Note that parser-level