Method default argument whose type is the class not yet defined

Chris Angelico rosuav at
Sun Nov 11 03:47:47 CET 2012

On Sun, Nov 11, 2012 at 1:43 PM, 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.

Ah, good point. In any case, though, it'd be an utterly inconsequential bug.


More information about the Python-list mailing list