Default scope of variables

Ian Kelly ian.g.kelly at
Tue Jul 9 20:41:10 CEST 2013

On Tue, Jul 9, 2013 at 11:23 AM, Ethan Furman <ethan at> wrote:
> On 07/09/2013 09:44 AM, Ian Kelly wrote:
>> On Tue, Jul 9, 2013 at 10:07 AM, Ethan Furman <ethan at> 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