.. Objectives .. ---------- .. At the end of this tutorial, you will be able to, .. 1. invoke the ``ipython`` interpreter . .. #. quit the ``ipython`` interpreter. .. #. navigate in the history of ``ipython``. .. #. use of tab-completion for writing ipython functions. .. #. look-up documentation of functions. .. #. interrupt incomplete or incorrect commands. .. Prerequisites .. ------------- .. (it should be given in the first module) .. should have ``ipython`` and ``pylab`` installed. .. Author : Puneeth Internal Reviewer : Anoop Jacob Thomas Language Review : Bhanukiran External Reviewer : Checklist OK? : [2010-10-05] Script ------ .. L1 {{{ Show the first slide containing title, name of the production team along with the logo of MHRD }}} .. R1 Hello Friends and Welcome to the tutorial on "getting started with ``ipython``". .. L2 {{{ Show slide with objectives }}} .. R2 At the end of this tutorial, you will be able to, 1. invoke the ``ipython`` interpreter . #. quit the ``ipython`` interpreter. #. navigate the ``ipython`` session history. #. use tab-completion for writing ipython functions. #. look-up documentation of functions. #. interrupt incomplete or incorrect commands. .. R3 IPython is an enhanced Python interpreter that provides features like tabcompletion, easier access to help and many other functionalities which are not available in the vannila Python interpreter. Let us first see how to start the ``ipython`` interpreter.First open the terminal, type ``ipython`` in the terminal and hit enter. .. L3 :: ipython .. R4 After getting some information about the version of Python installed and some help commands, we get a prompt with In[1]:. But, if you get an error saying 'ipython is not installed' then refer to the tutorial on how to install the packages. .. L4 {{{Point to the version information with mouse}}} {{{Point to the In[1]: prompt with mouse}}} .. R5 Now,lets see how we can quit the ipython interpreter, press Ctrl-D. .. L5 type Ctrl-D. .. R6 A prompt will appear to confirm whether you really want to exit, type y to say yes and quit ipython and n to say no if you don't want to quit the ipython. Press y. .. L6 {{{Press y and hit enter.}}} .. R7 Now since we have quit the interpretor, let us start it again by typing ``ipython`` .. L7 :: ipython .. R8 And now let's see, how to use the interpreter. Start with the simplest thing, addition. type 1+2 at the prompt. IPython promptly gives back the output as 3. Notice that the output is displayed with an ``Out[1]`` indication. .. L8 :: 1+2 {{{Point at the Out[1] prompt}}} .. R9 Let us now try few more operations such as, 5 minus 3, 7 minus 4, 6 into 5. .. L9 :: 5 - 3 7 - 4 6 * 5 .. R10 Now let's see how the ipython remembers the history of commands. For example ``print 1+2``. Instead of typing the whole thing,use the up arrow key to go back to the command ``1+2`` which we did before, now use the left-arrow key to navigate to the beginning of the line and type the word``print``and press space.We have changed the line to print 1+2, now press enter. The interpreter prints the result as 3. Please note that the indication Out square brackets is not shown here. .. L10 {{{Use the up arrow key to go back to the command ``1+2``}}} {{{Use left arrow to navigate to start of line }}} Type :: print {{{Hit enter}}} {{{Point at the Out[] prompt}}} .. R11 Now let us do print 10 into 2. We use the up arrow key to navigate to the previous command 1+2. Now change ``1 plus 2`` to ``10 into 2`` and press enter. .. L11 {{{ Change from ``print 1+2`` to ``print 10*2`` }}} .. R12 Till now, we saw how to invoke the ipython interpreter,quit the ipython and navigate through previous commands in ipython. Now, let's see, what is tab-completion?. let's take an example, suppose we want to use the function ``round``. For this we just type ``ro`` at the prompt and press the tab key. .. L12 :: ro .. R13 As you can see on the terminal, IPython completes the command ``ro`` into round, This feature of ipython is called the tab-completion. .. L13 {{{Stay on the terminal}}} .. R14 Let's see some more possibilities of tab completion just type ``r`` and then press the tab. .. L14 :: r .. R15 As u can see that IPython does not complete the command. This is because, there are many possibilities of ``r`` therefore it just lists out all the possible completions of r. .. L15 {{{Stay on the terminal}}} .. L16 {{{Show slide with exercise 1}}} .. R16 Now let's try out an exercise. Pause the video,solve the problem and resume the video. 1. find out the commands starting with "ab"? 2. list out the commands starting with "a"? .. R17 Switch to the terminal for solution. ``ab`` tab completes to ``abs`` and ``a`` gives us a list of all the commands starting with a. .. L17 :: ab a .. R18 Now, let's see what the functions abs is used for. We will use the help features of ipython to find out this. To see the documentation of a function, type the function name followed by a exercise mark. Ipython interpreter will show the documentation for the function. Let us see the documentation of the function abs, type abs? and press enter .. L18 :: abs? .. L19 :: abs(-19) abs(19) .. R19 As the documentation says, ``abs`` accepts a number as an input and returns it's absolute value. lets see few examples, Type abs(-19) and abs(19) on the interpreter. We get 19, as expected, in both the cases. .. R20 Now lets try it for decimal numbers; lets try abs(-10.5), we got 10.5 as the result. .. L20 :: abs(-10.5) .. R21 Pause the video here, try out the following exercise and resume the video. Look-up the documentation of ``round`` and see how to use it. .. L21 {{{Show slide with exercise 2}}} .. L22 :: round? .. R22 Switch to the terminal for solution. And you can look up the documentation of the function round by typing round exercise mark in the ipython interpreter. .. L23 {{{highlight the syntax with mouse hover on terminal}}} .. R23 If you notice, there are extra square brackets around ``ndigits``. This means that ``ndigits`` is optional and 0 is the default value. Optional parameters are shown in square brackets in Python documentation. The function ``round``, rounds a number to a given precision. .. R24 Pause the video here, try out the following exercise and resume the video. Let us now try few more examples with the function round. Check the output of round(2.48) round(2.48, 1) round(2.48, 2) round(2.484) round(2.484, 1) round(2.484, 2) .. L24 {{{Show slide with exercise 3}}} .. L25 {{{Show slide with solution 3 }}} .. R25 We get 2.0, 2.5 and 2.48, which are what we expect. .. R26 Let's now see how to correct typing errors which we often make while typing at the terminal. As already shown, if we haven't hit the enter key already, we could navigate using the arrow keys and make deletions using delete or backspace key and correct the errors. let us make a typing error deliberately, type round(2.484 and hit enter, without closing the parenthesis. .. L26 {{{ switch to terminal }}} :: round(2.484 {{{Hit enter}}} .. R27 We get a prompt with dots. This prompt is the continuation prompt of ``ipython``. It appears when, the previous line is incomplete. now complete the command of the same examples with close parenthesis and press enter. We got the expected output that is 2.0 .. L27 {{{ Point at the prompt with three dots }}} :: ) .. R28 In other instances, if we commit a typing error with a longer and more complex expression and end up with the continuation prompt, we can type Ctrl-C to interrupt the command and to get back to the ``ipython`` input prompt. .. L28 :: round(35.488762320 Ctrl-C .. R29 Pause the video here, try out the following exercise and resume the video. 1. type round(2.484, and press enter. and then cancel the command using Ctrl-C. 2. type the command, round(2.484, 2) .. L29 {{{Show slide with exercise 4}}} .. L30 {{{ show the solution on terminal }}} :: round(2.484 ^C round(2.484, 2) .. R30 .. L31 {{{ show the summary slide }}} .. R31 This brings us to the end of this tutorial.In this tutorial,we have learnt to, 1. Invoke the ``ipython`` interpreter by typing ipython. #. Quit the ``ipython`` interpreter by using d. #. Navigate in the history of ``ipython`` by using the arrow keys. #. Use the tab-completion feauture for writing python functions. #. See the documentation of functions using exercise mark. #. Interrupt using c when we make an error. .. R32 Here are some self assessment questionss for you to solve 1. ``ipython`` is a programming language similar to Python. True or False 2. Which key combination quits ``ipython``? - Ctrl + C - Ctrl + D - Alt + C - Alt + D 3. Which character is used at the end of a command, in Ipython to display the documentation. - under score (_) - exercise mark (?) - exclamation mark (!) - ampersand (&) .. L32 {{{Show self assessment questions slide}}} .. L33 {{{solution of self assessment questiones on slide}}} .. R33 And the answers, 1. Ipython is not a programming language, it is just an interpreter. 2. We use Ctrl D to quit Ipython interpreter. 3. We use ? at the end of the function name to display its documentation. .. L34 {{{Show thank you slide}}} .. R34 Hope you have enjoyed this tutorial and found it useful. Thank you!