Python 3K or Python 2.9?
bdesth.quelquechose at free.quelquepart.fr
Sun Sep 16 21:21:05 CEST 2007
Erik Jones a écrit :
> On Sep 14, 2007, at 11:54 PM, David Trudgett wrote:
>> TheFlyingDutchman <zzbbaadd at aol.com> writes:
>> Several languages use the "object.method(args)" form, which is syntactic
>> sugar for "method(object, other_args)" which Ada, for instance, uses.
>> Knowing this clears up half the confusion (the object /is/ passed as a
>> parameter whichever syntax is used).
>> The other half of the confusion is cleared up by considering that
>> Python methods are ordinary functions that don't magically "know" in
>> which "class" context they are executing: they must be told via the
>> first parameter.
> Yes, that is really the crux of the issue, though. While the former
> may be syntactic sugar for the latter, once any syntactic sugar has
> become prevalent enough, it becomes the expected norm
Being "the expected norm" is not enough to qualify has "being the right
thing to do".
> and the latter
> becomes clutter or, at best, awkward.
Until you want to dynamically add some generic function taking an object
as first arg as a method of a class or instance. Exposing most of the
inner working of it's object model is one of the greatest strength of
Python. And that's one of the reasons I (and probably other people here)
like this language.
> It's something that really just
> takes a little use until you get to the point where you don't usually
> think of it but, every so often, the thought creeps in. I'm not
> complaining, just pointing out if you step out of this particular box,
> you'll realize that it really is a pointless one. Saying, "because
> that's how Python does it" may be the only valid reason, but that
> argument is about on par with a six year old's "just because...".
If you really think the only rationale for this is "just because", then
you're missing something IMHO.
More information about the Python-list