Do I need "self" and "other"?

Hans Nowak zephyrfalcon!NO_SPAM! at gmail.com
Sat Jun 28 00:32:46 CEST 2008


Kurda Yon wrote:
> Hi,
> 
> I found one example which defines the addition of two vectors as a
> method of a class. It looks like that:
> 
> class Vector:
>   def __add__(self, other):
>     data = []
>     for j in range(len(self.data)):
>       data.append(self.data[j] + other.data[j])
>     return Vector(data)
> 
> In this example one uses "self" and "other". Does one really need to
> use this words? And, if yes, why? I have replaced "self" by "x" and
> "other" by "y" and everything looks OK. Is it really OK or I can have
> some problem in some cases?

You can use whichever (valid) names you want, but in general 'self' and 'other' 
are used for clarity.  In this case, they indicate the vector that is operated 
on ("self") and another vector ("other").  Using 'x' and 'y' would be less clear 
here.

-- 
Hans Nowak (zephyrfalcon at gmail dot com)
http://4.flowsnake.org/



More information about the Python-list mailing list