re compiled object result caching?
Dan Stromberg - Datallegro
dstromberg at datallegro.com
Wed Aug 29 17:54:50 EDT 2007
On Wed, 29 Aug 2007 17:45:36 -0400, Steve Holden wrote:
> Dan wrote:
>> foo_re = re.compile(r"foo(bar)")
>> # . . .
>> if foo_re.search(line):
>> foo_re.last_result().group(1)
>>
> If you wanted to implement this I don't really see why a method call is
> necessary. It would surely only need to be a simple attribute?
>
> Of course you then introduce the possibility that someone will reference
> if before using the RE in a search, plus it still requires separate
> storage if you want the ability to use the same RE for two different
> matches and compare the match results.
I've long felt that publicly accessible attributes probably should be
syntactic sugared to look like accessor methods, a bit like how __add__
ends up being + - so that if your attribute ever needs to become methods
(say, it started out life as a unidimensional thing, but later needs to
be a flattening of 3 dimensions or something), you won't necessarily need
to change depenent code.
But are methods a lot more expensive in python than referencing other
kinds of attributes?
More information about the Python-list
mailing list