""Martin v. Löwis"" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]The obvious XP response to the question is "You aren't going to need it". If you already have the intent then basically you appear to be saying "I *am* going to need it".
You would normally try to avoid type queries, and rely on virtual methods instead, if possible.
Of course.
It seems likely for the application that code can be shared across different subclasses, for example, you might be able to define
def Expr: def __str__(self): return '%s(%s)' % (self.__class__.__name__, ", ".join(map(str, self.operands()))
requiring you only to implement .operands() in the subclasses.
Indeed.
If you can anticipate such common code, it is easier to add a base class right away. If you cannot think of a specific use case, there is little point in having a common base class.
So, for example, you don't think it's worth including the base class as a way of indicating future intent?
Since you say that almost as an integral feature of the specification I'm not sure I understand why you asked the question in the first place - unless it's really an anthropological inquiry.
regards Steve -- Steve Holden +1 703 861 4237 +1 800 494 3119 Holden Web LLC http://www.holdenweb.com/ Python Web Programming http://pydish.holdenweb.com/
-- http://mail.python.org/mailman/listinfo/python-list