A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2018-July/154668.html below:

[Python-Dev] PEP 572 and assert

[Python-Dev] PEP 572 and assert [Python-Dev] PEP 572 and assertSerhiy Storchaka storchaka at gmail.com
Tue Jul 17 12:24:12 EDT 2018
17.07.18 18:48, Guido van Rossum пише:
> On Tue, Jul 17, 2018 at 8:28 AM, Serhiy Storchaka <storchaka at gmail.com 
> <mailto:storchaka at gmail.com>> wrote:
>     Should not the assert statement introduce an implicit lexical scope
>     for preventing leaking variables?
> 
> I don't see why. As Chris said, side effects in asserts are nothing new 
> and this PEP is not the one to do something about it.

This side effect is new. No other expressions that can be used in 
asserts leaked local variables before. The only exception is list 
comprehensions in Python 2, and this was fixed in Python 3.

We can't make the assignment expression itself creating its own scope, 
because this will invalidate its purpose. But the problem with assert 
ccould be solved by making assert creating a new lexical scope.

     assert expr, msg

could be translated to

     if __debug__ and not (lambda: expr)():
         raise AssertionError(msg)

instead of

     if __debug__ and not expr:
         raise AssertionError(msg)

More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4