Andrew Dalke wrote:
> def __init__(self, prec=None, rounding=None,
> traps=None, flags=None,
> _rounding_decision=None,
> Emin=None, Emax=None,
> capitals=None, _clamp=0,
> _ignored_flags=None):
> ...
> for name, val in locals().items():
> if val is None:
> setattr(self, name, _copy.copy(getattr(DefaultContext, name)))
> else:
> setattr(self, name, val)
Hmmm. For things like that, maybe what you really
want is to be able to give the ** arg a default value:
def __init__(self, **kwds = dict(rec=None, rounding=None,
traps=None, flags=None,
_rounding_decision=None,
Emin=None, Emax=None,
capitals=None, _clamp=0,
_ignored_flags=None))
for name, val in kwds:
...
Although you can get a similar effect now by doing
def __init__(self, **kwds):
args = dict(prec=None, rounding=None,
traps=None, flags=None,
_rounding_decision=None,
Emin=None, Emax=None,
capitals=None, _clamp=0,
_ignored_flags=None)
args.update(kwds)
for name, value in args:
...
So, no need for locals() here.
--
Greg
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com