Method default argument whose type is the class not yet defined

Steve Howell showell30 at
Mon Nov 12 01:56:48 CET 2012

On Nov 11, 4:31 pm, Oscar Benjamin <oscar.j.benja... at> wrote:
> On 11 November 2012 22:31, Steven D'Aprano

> > Nonsense. The length and direction of a vector is relative to the origin.
> > If the origin is arbitrary, as you claim, then so is the length of the
> > vector.
> Wrong on all counts. Neither the length not the direction os a vector
> are relative to any origin. When we choose to express a vector in
> Cartesian components our representation assumes an orientation for the
> axes of the coordinate system. Even in this sense, though, the origin
> itself does not affect the components of the vector.

Thank you for pushing back on Steven's imprecise statement that the
"direction of a vector is relative to the origin."

You can't find an angle between two points.  That's absurd.  You need
axes for context.

> Vectors, points and complex numbers are not equivalent. There are
> cases in which it is reasonable to think of them as equivalent for a
> particular purpose. That does not diminish the fundamental differences
> between them.

I looked to wikipedia for clarity, but the definition of a Euclidean
vector is somewhat muddy:

They say that the formal definition of a vector is a directed line
segment.  But then they define a "free vector" as an entity where only
the magnitude and direction matter, not the initial point.

As you say, it's not unreasonable to treat vectors, points, and
complex numbers as equivalent in many circumstances.  But, if you're
gonna be pedantic, they really are different things.

More information about the Python-list mailing list