with statement
Ethan Furman
ethan at stoneleaf.us
Thu Apr 19 18:38:03 EDT 2012
Ian Kelly wrote:
> On Thu, Apr 19, 2012 at 3:33 PM, Terry Reedy <tjreedy at udel.edu> wrote:
>> On 4/19/2012 1:15 PM, Kiuhnm wrote:
>>> A with statement is not at the module level only if it appears inside a
>>> function definition or a class definition.
>>
>> This is true, I believe, of all statements.
>>
>>> Am I forgetting something?
>>
>> Comprehensions (in Py3) and lambda expressions also introduce new local
>> scopes -- because they are abbreviated def statements. But they cannot
>> contain statements, only expressions, in that new scope.
>
> Syntactically, that's true. However, lambdas and comprehensions are
> just functions and generator functions under the hood, so in principle
> there is nothing preventing with blocks from being injected into their
> byte code.
Which would still not be at the module level.
~Ethan~
More information about the Python-list
mailing list