A Python 3000 Question

George Sakkis george.sakkis at gmail.com
Tue Oct 30 12:16:40 EDT 2007


On Oct 30, 11:25 am, Neil Cerutti <horp... at yahoo.com> wrote:
> On 2007-10-30, Eduardo O. Padoan <eduardo.pad... at gmail.com> wrote:
>
> > This is a FAQ:
> >http://effbot.org/pyfaq/why-does-python-use-methods-for-some-function...
>
> Holy Airy Persiflage Batman!
>
> Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on
> win32
> Type "help", "copyright", "credits" or "license" for more information.>>> import timeit
> >>> timeit.Timer('len(seq)', 'seq = range(100)').timeit()
> 0.20332271187463391
> >>> timeit.Timer('seq.__len__()', 'seq = range(100)').timeit()
>
> 0.48545737364457864

Common mistake; try this instead:

timeit.Timer('seqlen()',
             'seq = range(100); seqlen=seq.__len__').timeit()

George




More information about the Python-list mailing list