/usr/lib64/python2.6/Demo/classes
NameSizeModeActions
bitvec.py104950644editdlrm
bitvec.pyc104080644editdlrm
bitvec.pyo104080644editdlrm
Complex.py99540644editdlrm
Complex.pyc100740644editdlrm
Complex.pyo100740644editdlrm
Dates.py78210644editdlrm
Dates.pyc73990644editdlrm
Dates.pyo73990644editdlrm
Dbm.py15740644editdlrm
Dbm.pyc25330644editdlrm
Dbm.pyo25330644editdlrm
Range.py31260644editdlrm
Range.pyc41230644editdlrm
Range.pyo41230644editdlrm
README5220644editdlrm
Rev.py20520644editdlrm
Rev.pyc28900644editdlrm
Rev.pyo28900644editdlrm
Vec.py10000644editdlrm
Vec.pyc26770644editdlrm
Vec.pyo26770644editdlrm
Edit: /usr/lib64/python2.6/Demo/classes/Range.pyo (4123B)
Ñò «gc@sPdZd„Zd„Zddd„ƒYZd„Zedjo eƒndS( s 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__ . cCsèyÂt|ƒdjodt|dƒdfSt|ƒdjo"t|dƒt|dƒdfSt|ƒdjo6|ddjotdƒ‚ntd„|DƒƒStdt|ƒƒ‚Wntj otdƒ‚nXd S( sgTake list of arguments and extract/create proper start, stop, and step values and return in a tupleiiiisstep argument must not be zerocssx|]}t|ƒVqWdS(N(tint(t.0tx((s*/usr/lib64/python2.6/Demo/classes/Range.pys s s$range() accepts 1-3 arguments, givensArange() arguments must be numbers or strings representing numbersN(tlenRt ValueErrorttuplet TypeError(targlist((s*/usr/lib64/python2.6/Demo/classes/Range.pyt handleargss"cgsCt|ƒ\}}}|}x!||jo|V||7}qWdS(s,Function to implement 'range' as a generatorN(R(tatstarttstoptsteptvalue((s*/usr/lib64/python2.6/Demo/classes/Range.pytgenranges  toldrangecBs2eZdZd„Zd„Zd„Zd„ZRS(sClass 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. cGsEt|ƒ\|_|_|_td|i|i|iƒ|_dS(s„ Initialize start, stop, and step values along with calculating the nubmer of values (what __len__ will return) in the rangeiN(RR R R tmaxR(tselfR ((s*/usr/lib64/python2.6/Demo/classes/Range.pyt__init__,scCsd|i|i|ifS(s-implement repr(x) which is also used by printsrange(%r, %r, %r)(R R R (R((s*/usr/lib64/python2.6/Demo/classes/Range.pyt__repr__2scCs|iS(simplement len(x)(R(R((s*/usr/lib64/python2.6/Demo/classes/Range.pyt__len__6scCsAd|jo |ijno|i|i|Std‚dS(simplement x[i]isrange[i] index out of rangeN(RR R t IndexError(Rti((s*/usr/lib64/python2.6/Demo/classes/Range.pyt __getitem__:s!(t__name__t __module__t__doc__RRRR(((s*/usr/lib64/python2.6/Demo/classes/Range.pyR"s    c Cs<ddk}ddk}|idddƒ}ttdddƒƒ}ttdddƒƒ}||jp ||jotd|||fƒ‚ndGH|iƒ}xtdƒD]}q²W|iƒ}xtdƒD]}qÕW|iƒ}x|idƒD]}qûW|iƒ} ||GdGH||Gd GH| |Gd GHdS( NiÿÿÿÿiidisEerror in implementation: correct = %s old-style = %s generator = %ssTimings for range(1000):ièssec (old-style class)ssec (generator)ssec (built-in)(ttimet __builtin__trangetlistRRt Exception( RRtcorrect_resulttoldrange_resulttgenrange_resulttt1Rtt2tt3tt4((s*/usr/lib64/python2.6/Demo/classes/Range.pyttestBs0        t__main__N((RRRRR'R(((s*/usr/lib64/python2.6/Demo/classes/Range.pyts