Top and Bottom Values [PEP: 326]

Paul McGuire ptmcg at austin.rr._bogus_.com
Wed Sep 27 09:15:52 EDT 2006


"Antoon Pardon" <apardon at forel.vub.ac.be> wrote in message 
news:slrnehkqqc.rcu.apardon at rcpc42.vub.ac.be...
> On 2006-09-27, Peter Otten <__peter__ at web.de> wrote:
>> Antoon Pardon wrote:
>>
>>> I had written my own module, which works similarly but
>>> is somewhat extended. Here is an example of how it can
>>> be used and how I would like to use it but get stuck.
>>>
>>> from extreme import Top
>>>>>> Top
>>> Top
>>>>>> Top + 1
>>> Top
>>>>>> Top - 30
>>> Top
>>>>>> Top > 1e99
>>> True
>>>>>> lst = range(10)
>>>>>> lst[:Top]
>>> Traceback (most recent call last):
>>>   File "<stdin>", line 1, in ?
>>> TypeError: slice indices must be integers or None
>>>
<snip>

What about this?

-- Paul


class TopClass(int):
    def __add__(self,other):
        return self
    def __sub__(self,other):
        return self
    def __mul__(self,other):
        return self
    def __div__(self,other):
        return self
    def __iadd__(self,other):
        return self
    def __isub__(self,other):
        return self
    def __imul__(self,other):
        return self
    def __idiv__(self,other):
        return self
    def __str__(self):
        return "Top"

import sys
Top = TopClass(sys.maxint)

print Top
print int(Top)
print int(Top-1e9)

a = range(10)
print a[:Top]
print a[Top:]
print a[3:Top]


Prints:
Top
2147483647
2147483647
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[]
[3, 4, 5, 6, 7, 8, 9] 





More information about the Python-list mailing list