Johnny Lee <jo************@hotmail.com> wrote:
Alex Martelli ???
Now that's a peculiar question...
Johnny Lee <jo************@hotmail.com> wrote:
But I still wonder what's the difference between the A().getMember and
A().member besides the style
Without parentheses after it, getMember is a method. The difference
between a method object and an integer object (which is what member
itself is in your example) are many indeed, so your question is very
strange. You cannot call an integer, you cannot divide methods, etc.
Alex
Sorry, I didn't express myself clear to you. I mean:
b = A().getMember()
c = A().member
what's the difference between b and c? If they are the same, what's the
difference in the two way to get the value besides the style.
If getMember's body is nothing but a 'return self.member', then there is
no difference -- 'assert b is c'.
What is the difference between:
x = 2
and
y = 2+2-2*2/2
??? Answer: in terms of final results, no difference. On the other
hand, the second approach does a lot of obviously useless and intricate
computation, so it's a sheer waste of time and effort.
Exactly the same answer applies to your question -- obtaining the
..member attribute "indirectly", by calling a method that returns it,
does some obviously useless and moderately intricate computation, which
in some ways is a waste of (some) time and effort. That's all!
Alex