(original) (raw)

On Wed, Jul 4, 2018 at 3:02 AM Chris Angelico <rosuav@gmail.com> wrote:
"Assignment is a statement" -- that's exactly the point under discussion.
"del is a statement" -- yes, granted
"function and class declarations are statements" -- class, yes, but
you have "def" and "lambda" as statement and expression equivalents.
"import is a statement" -- but importlib.import\_module exists for a reason
I'm going to assume that your term "mutating" there was simply a
miswording, and that you're actually talking about \*name binding\*,
which hitherto occurs only in statements. Yes, this is true.

Nope, not actually:

>>> del foo
>>> print(globals().update({'foo':42}), foo)
None 42


--
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.