Bruno Desthuilliers wrote:
> [EMAIL PROTECTED] wrote:
> (snip)
>
> > Two additional questions though: 1) is there a way for a function to
> > get a reference to its caller automatically (as in, without the caller
> > having to pass it in)?
>
> It's possible with sys._getframe() and a decorator - but consider it a
> hack.

Gotcha, thanks.

>
> > and 2) what's the reason to use newstyle classes
> > versus the old?
>
> All this is explained on python.org (there's a menu entry for this in
> the documentation menu). AFAICT, newstyle classes can do whatever
> oldstyle classes did, *and much more* (descriptors and usable
> metaclasses) - and they are somewhat faster too. So - compatibility with
> older Python versions (< 2.2 IIRC) set aside -, there's just no reason
> to use oldstyle classes.
>
> >  In order to create the dynamic class "NewClass" in the
> > code above I called type() but that requires at least one new style
> > class as a base. Thus, I had to have at least one of my animals inherit
> > from "object" and this seemed a nuisance since
>
> OMG, eight more keystrokes - talk about a nuisance...

Like, Oh My God! *claps hand to mouth*  lol   You humor me. Yes, eight
more keystrokes. I follow the general rule of, if I'm going to put in
extra effort, I'd like to know why. So you see, it's not so much an
adversion to the eight keystrokes (multiplied by however many classes I
have mind you), but to not knowing why I should use them. If I don't
care for descriptors or metaclasses, I don't see why I should feel
compelled to use them. And when I decide I want/need these features, I
can put the eight keystroke in at that time. No biggy. :-) Thanks
Bruno.

>
> > I don't at this point
> > know what the benefit of "newstyle" classes is.
>
> See it the other way round :  the *only* benefit of oldstyle classes is
> compatibility with pre-2.2 Python versions.
>
> --
> bruno desthuilliers
> python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
> p in '[EMAIL PROTECTED]'.split('@')])"

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to