Current Path: > > > usr > lib64 > python2.7 > Demo > > classes
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
Complex.py | File | 9954 bytes | April 19 2020 21:13:39. | |
Complex.pyc | File | 10022 bytes | April 10 2024 04:58:46. | |
Complex.pyo | File | 10022 bytes | April 10 2024 04:58:46. | |
Dates.py | File | 7821 bytes | April 19 2020 21:13:39. | |
Dates.pyc | File | 7334 bytes | April 10 2024 04:58:46. | |
Dates.pyo | File | 7334 bytes | April 10 2024 04:58:46. | |
Dbm.py | File | 1574 bytes | April 19 2020 21:13:39. | |
Dbm.pyc | File | 2520 bytes | April 10 2024 04:58:46. | |
Dbm.pyo | File | 2520 bytes | April 10 2024 04:58:46. | |
README | File | 522 bytes | April 19 2020 21:13:39. | |
Range.py | File | 3126 bytes | April 19 2020 21:13:39. | |
Range.pyc | File | 4091 bytes | April 10 2024 04:58:46. | |
Range.pyo | File | 4091 bytes | April 10 2024 04:58:46. | |
Rev.py | File | 2052 bytes | April 19 2020 21:13:39. | |
Rev.pyc | File | 2865 bytes | April 10 2024 04:58:46. | |
Rev.pyo | File | 2865 bytes | April 10 2024 04:58:46. | |
Vec.py | File | 1357 bytes | April 19 2020 21:13:39. | |
Vec.pyc | File | 2820 bytes | April 10 2024 04:58:46. | |
Vec.pyo | File | 2820 bytes | April 10 2024 04:58:46. | |
bitvec.py | File | 10495 bytes | April 19 2020 21:13:39. | |
bitvec.pyc | File | 10293 bytes | April 10 2024 04:58:46. | |
bitvec.pyo | File | 10293 bytes | April 10 2024 04:58:46. |
"""Example of a generator: re-implement the built-in range function without actually constructing the list of values. OldStyleRange is coded in the way required to work in a 'for' loop before iterators were introduced into the language; using __getitem__ and __len__ . """ def handleargs(arglist): """Take list of arguments and extract/create proper start, stop, and step values and return in a tuple""" try: if len(arglist) == 1: return 0, int(arglist[0]), 1 elif len(arglist) == 2: return int(arglist[0]), int(arglist[1]), 1 elif len(arglist) == 3: if arglist[2] == 0: raise ValueError("step argument must not be zero") return tuple(int(x) for x in arglist) else: raise TypeError("range() accepts 1-3 arguments, given", len(arglist)) except TypeError: raise TypeError("range() arguments must be numbers or strings " "representing numbers") def genrange(*a): """Function to implement 'range' as a generator""" start, stop, step = handleargs(a) value = start while value < stop: yield value value += step class oldrange: """Class implementing a range object. To the user the instances feel like immutable sequences (and you can't concatenate or slice them) Done using the old way (pre-iterators; __len__ and __getitem__) to have an object be used by a 'for' loop. """ def __init__(self, *a): """ Initialize start, stop, and step values along with calculating the nubmer of values (what __len__ will return) in the range""" self.start, self.stop, self.step = handleargs(a) self.len = max(0, (self.stop - self.start) // self.step) def __repr__(self): """implement repr(x) which is also used by print""" return 'range(%r, %r, %r)' % (self.start, self.stop, self.step) def __len__(self): """implement len(x)""" return self.len def __getitem__(self, i): """implement x[i]""" if 0 <= i <= self.len: return self.start + self.step * i else: raise IndexError, 'range[i] index out of range' def test(): import time, __builtin__ #Just a quick sanity check correct_result = __builtin__.range(5, 100, 3) oldrange_result = list(oldrange(5, 100, 3)) genrange_result = list(genrange(5, 100, 3)) if genrange_result != correct_result or oldrange_result != correct_result: raise Exception("error in implementation:\ncorrect = %s" "\nold-style = %s\ngenerator = %s" % (correct_result, oldrange_result, genrange_result)) print "Timings for range(1000):" t1 = time.time() for i in oldrange(1000): pass t2 = time.time() for i in genrange(1000): pass t3 = time.time() for i in __builtin__.range(1000): pass t4 = time.time() print t2-t1, 'sec (old-style class)' print t3-t2, 'sec (generator)' print t4-t3, 'sec (built-in)' if __name__ == '__main__': test()
SILENT KILLER Tool