I'm convinced by the new section explaining why a single value is better than a namespace. Nonetheless, it would feel more "Pythonic" to me to create a property `ContextVariable.val` whose getter and setter was `.lookup()` and `.set()` (or maybe `._lookup()` and `._set()`).
Lookup might require a more complex call signature in rare cases, but the large majority of the time it would simply be `var.val`, and that should be the preferred API IMO. That provides a nice parallel between `var.name` and `var.val` also. On Sat, Aug 26, 2017 at 11:22 AM, Barry Warsaw <ba...@python.org> wrote: > On Aug 26, 2017, at 14:15, Yury Selivanov <yselivanov...@gmail.com> wrote: > > > > Elvis just added it: > > https://www.python.org/dev/peps/pep-0550/#replication-of- > threading-local-interface > > Thanks, that’s exactly what I was looking for. Great summary of the issue. > > > >> That said, if we have to use method lookup, then I agree that `.get()` > is a better choice than `.lookup()`. But in that case, would it be > possible to add an optional `default=None` argument so that you can specify > a marker object for a missing value? I worry that None might be a valid > value in some cases, but that currently can’t be distinguished from > “missing”. > > > > Nathaniel has a use case where he needs to know if the value is in the > > topmost LC or not. > > > > One way to address that need is to have the following signature for > lookup(): > > > > lookup(*, default=None, traverse=True) > > > > IMO "lookup" is a slightly better name in this particular context. > > Given that signature (which +1), I agree. You could add keywords for > debugging lookup fairly easily too. > > Cheers, > -Barry > > > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > https://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: https://mail.python.org/mailman/options/python-dev/ > mertz%40gnosis.cx > > -- Keeping medicines from the bloodstreams of the sick; food from the bellies of the hungry; books from the hands of the uneducated; technology from the underdeveloped; and putting advocates of freedom in prisons. Intellectual property is to the 21st century what the slave trade was to the 16th.
_______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com