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