<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Wed, Jul 4, 2018 at 3:02 AM Chris Angelico <<a href="mailto:rosuav@gmail.com">rosuav@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">"Assignment is a statement" -- that's exactly the point under discussion.<br>"del is a statement" -- yes, granted<br>"function and class declarations are statements" -- class, yes, but<br>
you have "def" and "lambda" as statement and expression equivalents.<br>"import is a statement" -- but importlib.import_module exists for a reason</blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I'm going to assume that your term "mutating" there was simply a<br>
miswording, and that you're actually talking about *name binding*,<br>
which hitherto occurs only in statements. Yes, this is true.<br></blockquote><div><br></div><div>Nope, not actually:</div><div><br></div><div><font face="monospace, monospace">>>> del foo</font></div><div><font face="monospace, monospace">>>> print(globals().update({'foo':42}), foo)</font></div><div><font face="monospace, monospace">None 42 </font></div></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature">Keeping medicines from the bloodstreams of the sick; food <br>from the bellies of the hungry; books from the hands of the <br>uneducated; technology from the underdeveloped; and putting <br>advocates of freedom in prisons.  Intellectual property is<br>to the 21st century what the slave trade was to the 16th.<br></div></div>