What is %timeit in python?
Question: I always read the code to calculate the time like this way:

    
    
    %timeit function()
    

Can you explain what means "%" here?

I think, the "%" is always used to replace something in a string, like %s
means replace a string, %d replace a data, but I have no idea about this case.


Answer: `%timeit` is an [ipython magic](https://ipython.org/ipython-
doc/dev/interactive/magics.html#magic-timeit) function, which can be used to
time a particular piece of code (A single execution statement, or a single
method)

From the docs:

> %timeit
>  
>  
>     Time execution of a Python statement or expression
>  
>     Usage, in line mode:
>         %timeit [-n<N> -r<R> [-t|-c] -q -p<P> -o] statement
>  

To use it, for example if we want to find out whether using `xrange` is any
faster than using `range`, you can simply do:

    
    
    In [1]: %timeit for _ in range(1000): True
    10000 loops, best of 3: 37.8 µs per loop
    
    In [2]: %timeit for _ in xrange(1000): True
    10000 loops, best of 3: 29.6 µs per loop
    

And you will get the timings for them.

The major advantage is that you don't have to import `timer.timeit`, and run
the code multiple times to figure out which is the better approach; %timeit
will automatically calculate number of runs required for your code based on a
total of 2 seconds execution window.

