Default scope of variables
Ian Kelly
ian.g.kelly at gmail.com
Tue Jul 9 14:41:10 EDT 2013
On Tue, Jul 9, 2013 at 11:23 AM, Ethan Furman <ethan at stoneleaf.us> wrote:
> On 07/09/2013 09:44 AM, Ian Kelly wrote:
>>
>> On Tue, Jul 9, 2013 at 10:07 AM, Ethan Furman <ethan at stoneleaf.us> wrote:
>>>
>>> You could also do it like this:
>>>
>>> def updating(self):
>>> self.transaction_active = True
>>> return self
>>
>>
>> Yes, that would be simpler. I was all set to point out why this
>> doesn't work, and then I noticed that the location of the
>> "transaction_active" attribute is not consistent in the original code.
>> The DbSession class places it on self, and then the example usage
>> places it on the connection object
>
>
> It looks like DbSession has a conn object, and in the example he has
> DbSession() named as conn -- ironic, considering this is a variable scoping
> thread. ;)
The object returned by __enter__ is the conn object, not the
DbSession, so naming it "conn" is correct.
More information about the Python-list
mailing list