Re: [Python-Dev] PEP 550 v4

2017年9月07日 07:04:41 -0700

On Thursday, September 7, 2017 3:54:15 AM EDT Greg Ewing wrote:
> This problem would also not arise if context vars
> simply had names instead of being magic key objects:
> 
> def foo():
> contextvars.set("mymodule.myvar", 1)
> 
> That's another thing I think would be an improvement,
> but it's orthogonal to what we're talking about here
> and would be best discussed separately.
On the contrary, using simple names (PEP 550 V1 was actually doing that) 
is a regression. It opens up namespace clashing issues. Imagine you 
have a variable named "foo", and then some library you import also 
decides to use the name "foo", what then? That's one of the reasons why 
we do `local = threading.local()` instead of 
`threading.set_local("foo", 1)`.
 Elvis
_______________________________________________
Python-Dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to