<div dir="ltr">Yeah, but I've changed my mind on this -- I think it's needless added complexity that helps save one line of code in very few use cases. And you don't really think the PEP endorses `nonlocal foo += 1` do you?<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 5, 2018 at 10:48 AM, Random832 <span dir="ltr"><<a href="mailto:random832@fastmail.com" target="_blank">random832@fastmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Fri, Jan 5, 2018, at 10:47, Guido van Rossum wrote:<br>
> I don't recall (though someone with more time might find the discussion in<br>
> the archives or on the tracker). It was never implemented and I think it<br>
> shouldn't be. So we might as well update the PEP. It wouldn't be<br>
> particularly useful, since (by definition) the function that declares the<br>
> nonlocal variable is not its owner, and hence it's unlikely to make sense<br>
> to initialize it here. The same reasoning applies to global BTW.<br>
<br>
</span>I'm not so sure...<br>
<br>
The only situation in which you're *required* to declare a nonlocal/global variable, after all, is if you intend to assign it - a name that you never assign is presumed to be non-local. The description in the PEP also applies to augmented assignments, and "global some_counter; some_counter += 1" is certainly a pattern I've needed in the past.<br>
<br>
The PEP also quotes you as endorsing this for global. <a href="https://mail.python.org/pipermail/python-3000/2006-November/004166.html" rel="noreferrer" target="_blank">https://mail.python.org/<wbr>pipermail/python-3000/2006-<wbr>November/004166.html</a><br>
<div class="HOEnZb"><div class="h5">______________________________<wbr>_________________<br>
Python-Dev mailing list<br>
<a href="mailto:Python-Dev@python.org">Python-Dev@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-dev" rel="noreferrer" target="_blank">https://mail.python.org/<wbr>mailman/listinfo/python-dev</a><br>
Unsubscribe: <a href="https://mail.python.org/mailman/options/python-dev/guido%40python.org" rel="noreferrer" target="_blank">https://mail.python.org/<wbr>mailman/options/python-dev/<wbr>guido%40python.org</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">--Guido van Rossum (<a href="http://python.org/~guido" target="_blank">python.org/~guido</a>)</div>
</div>