[Python-Dev] strop vs. string

Greg Stein gstein@lyra.org
Thu, 24 May 2001 06:00:16 -0700


On Thu, May 24, 2001 at 12:18:50PM +0200, M.-A. Lemburg wrote:
> Greg Stein wrote:
>...
> > So... my question is: is there any way that we can retain a generic find()
> > (and similar functions from the string/strop module) that operates on any
> > type that implements the buffer API?
> > 
> > Maybe there is some way we can do a mixin for Python types? e.g. "this mixin
> > implements some standard methods for 8-bit character data (using the buffer
> > API), which can be mixed into new Python types" That would reduce the burden
> > for new types.
> 
> I suppose that in 2.2 we'll be able to build a class/type
> hierarchy which then provides these possibilities. I haven't
> followed Guido's latest checkins closely though -- could be that
> types don't support multiple inheritence.

No idea either... that's why I asked.

> BTW, wouldn't it suffice to add these methods to buffer objects ?
> Then you could write: buffer(ob).find('.').

You're totally missing the point with that suggestion. It does *not* suffice
to add them to buffer objects. What about array objects? mmap objects?
Random Joe Object who implements the buffer interface?

All of those are out of luck.

With strop, I can pass any of those objects to strop.find(). That function
has a polymorphic argument.

In the current arrangement, every object must implement their own .find and
.upper and .whatever.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/