On Sun, 09 Nov 2008 10:45:31 -0500, Roy Smith wrote: > In article <[EMAIL PROTECTED]>, > "Diez B. Roggisch" <[EMAIL PROTECTED]> wrote: >> Roy Smith schrieb: >>> In article <[EMAIL PROTECTED]>, >>> "Diez B. Roggisch" <[EMAIL PROTECTED]> wrote: >>> >> When I wrote "uniform" I meant objects of the same kind. So for example >> subclasses are of course ok. And all of your examples are these: I want >> a Token-object, keeping file-location and possibly original string >> representation. > > Maybe, but only if the logic of my program says that's the right way to > do it. If I decide that the appropriate way to return an integer is by > returning something of type(int), that's my business. Why should I have > to define a Token class if using the native Python types works just as > well for what I'm doing? I'll write class Token when there's some > added value I get from it which I can't get with raw types.
One added value in Python 3.0 would be that they are sortable in a `list`. But seriously, your token example should work fine with Python 3.0 because the wish to sort tokens is a bit exotic IMHO. > I don't want to be forced into it just because a container doesn't like > what I'm doing. The container doesn't say what *you* can do with the content, it is just a bit picky about what the container itself can do. If a function or method doesn't like something about the arguments it's perfectly okay to raise a `TypeError` or a `ValueError`. > As another example, consider a list of items being juggled: > > [RubberChicken(), ChainSaw(), Canteloupe()] > > I could go through contortions to find some common subclass for these > items, but the whole *point* is that they're not of the same type. They are of the same duck type "things to be juggled". And if you use a method on them they have to implement that. Not necessarily through inheritance. > And making a list of them is a perfectly reasonable thing to do. And possible with current Python and Python 3.0. Ciao, Marc 'BlackJack' Rintsch -- http://mail.python.org/mailman/listinfo/python-list