Can __iter__ be used as a classmethod?
Michele Simionato
mis6 at pitt.edu
Wed Mar 19 13:57:10 EST 2003
Alex Martelli <aleax at aleax.it> wrote in message news:<6hZda.81274$pG1.1839790 at news1.tin.it>...
> Michele Simionato wrote:
> ...
> >> > doesn't give any functionality. I also think staticmethod is poorly
> >> > named, since it does not produce a method, and it definitely doesn't
> >> > do what a 'static method' does in Java or any other language I know
> ...
> >> regarding your objection to the name. Where's the "definitely doesn't
> >> do" -- isn't a Python staticmethod just like e.g. a C++ static method?
> ...
> >> What "definite" difference is totally escaping my notice...?
> ...
> > A staticmethod is not a method, is a function, when called as in the
>
> Nor did I say otherwise. But I'm still totally puzzled by the
> "definitely doesn't do what a 'static method' does in Java" and I
> don't see how your answer addresses this. What am I missing?
>
> > this context) from regular methods(which now are functions). No difference
> > at all in the normal usage, but big difference in metaprogramming
>
> In Java there are no "functions" distinct from static method, so that
> can't have anything to do with whatever the OP meant by "definitely
> doesn't do". In C++ there is no introspection / reflection, and a
> static method IS also "a function" (you can take its address as a
> pointer to function, NOT as a pointer to method). So, I'm still
> totally in the dark about what the "definitely doesn't do" refers
> to -- *how* does a Python staticmethod differ from Java's or C++'s???
>
>
> Alex
I don't claim expertise nor in Java nor in C++, therefore let the
OP to clarify this issue :)
More information about the Python-list
mailing list