Method default argument whose type is the class not yet defined

Roy Smith roy at
Sun Nov 11 03:53:42 CET 2012

In article <mailman.3549.1352601828.27098.python-list at>,
 Ian Kelly <ian.g.kelly at> wrote:

> On Sat, Nov 10, 2012 at 7:13 PM, Chris Angelico <rosuav at> wrote:
> > I would not assume that. The origin is a point, just like any other.
> > With a Line class, you could deem a zero-length line to be like a
> > zero-element list, but Point(0,0) is more like the tuple (0,0) which
> > is definitely True.
> It's more like the number 0 than the tuple (0,0).
> 0 is the origin on a 1-dimensional number line.
> (0,0) is the origin on a 2-dimensional number plane.

> In fact, it might be pointed out that Point(0, 0) is a generalization
> of 0+0j, which is equal to 0.

If (0,0) is the origin on a plane, then (0,) should be the origin on a 
line.  If you consider 0 + 0j to be the origin of a plane, then 0 is the 
origin of a line.  Either way is plausible, but you need to be 

More information about the Python-list mailing list