{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Running Code in the IPython Notebook" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First and foremost, the IPython Notebook is an interactive environment for writing and running Python code." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Code cells allow you to enter and run Python code" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "\n", "Run a code cell using `shift-enter` or pressing the button in the toolbar above:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "a = 10" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "print(a)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "10\n" ] } ], "prompt_number": 11 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Managing the IPython Kernel" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Code is run in a separate process called the IPython Kernel. The Kernel can be interrupted or restarted. Try running the following cell and then hit the button in the toolbar above." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import time\n", "time.sleep(10)" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "KeyboardInterrupt", "evalue": "", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mtime\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mtime\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msleep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mKeyboardInterrupt\u001b[0m: " ] } ], "prompt_number": 16 }, { "cell_type": "markdown", "metadata": {}, "source": [ "If the Kernel dies you will be prompted to restart it. Here we call the low-level system libc.time routine with the wrong argument via\n", "ctypes to segfault the Python interpreter:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import sys\n", "from ctypes import CDLL\n", "# This will crash a Linux or Mac system; equivalent calls can be made on Windows\n", "dll = 'dylib' if sys.platform == 'darwin' else 'so.6'\n", "libc = CDLL(\"libc.%s\" % dll) \n", "libc.time(-1) # BOOM!!" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "All of the goodness of IPython works" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here are two system aliases:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "pwd" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 4, "text": [ "u'/Users/bgranger/Documents/Computation/IPython/code/ipython/examples/notebooks'" ] } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "ls" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "01_notebook_introduction.ipynb Octave Magic.ipynb\r\n", "Animations Using clear_output.ipynb PyLab and Matplotlib.ipynb\r\n", "Basic Output.ipynb R Magics.ipynb\r\n", "Custom Display Logic.ipynb Running Code.ipynb\r\n", "Cython Magics.ipynb Script Magics.ipynb\r\n", "Data Publication API.ipynb SymPy Examples.ipynb\r\n", "Display System.ipynb Trapezoid Rule.ipynb\r\n", "JS Progress Bar.ipynb Typesetting Math Using MathJax.ipynb\r\n", "Local Files.ipynb animation.m4v\r\n", "Markdown Cells.ipynb python-logo.svg\r\n", "Notebook Tour.ipynb\r\n" ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Any command line program can be run using `!` with string interpolation from Python variables:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "message = 'The IPython notebook is great!'\n", "# note: the echo command does not run on Windows, it's a unix command.\n", "!echo $message" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Tab completion works:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy\n", "numpy.random." ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Shift-Tab on selection, or after `(` brings up a tooltip with the docstring:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "numpy.random.rand(" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Adding `?` opens the docstring in the pager below:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "magic?" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exceptions are formatted nicely:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "x = 1\n", "y = 4\n", "z = y/(1-x)" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "ZeroDivisionError", "evalue": "integer division or modulo by zero", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mZeroDivisionError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m4\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mz\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mZeroDivisionError\u001b[0m: integer division or modulo by zero" ] } ], "prompt_number": 15 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Working with external code" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are a number of ways of getting external code into code cells." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pasting code with `>>>` prompts works as expected:" ] }, { "cell_type": "code", "collapsed": false, "input": [ ">>> the_world_is_flat = 1\n", ">>> if the_world_is_flat:\n", "... print(\"Be careful not to fall off!\")" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Be careful not to fall off!\n" ] } ], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `%load` magic lets you load code from URLs or local files:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%load?" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "%load http://matplotlib.org/mpl_examples/showcase/integral_demo.py" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "\"\"\"\n", "Plot demonstrating the integral as the area under a curve.\n", "\n", "Although this is a simple example, it demonstrates some important tweaks:\n", "\n", " * A simple line plot with custom color and line width.\n", " * A shaded region created using a Polygon patch.\n", " * A text label with mathtext rendering.\n", " * figtext calls to label the x- and y-axes.\n", " * Use of axis spines to hide the top and right spines.\n", " * Custom tick placement and labels.\n", "\"\"\"\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from matplotlib.patches import Polygon\n", "\n", "\n", "def func(x):\n", " return (x - 3) * (x - 5) * (x - 7) + 85\n", "\n", "\n", "a, b = 2, 9 # integral limits\n", "x = np.linspace(0, 10)\n", "y = func(x)\n", "\n", "fig, ax = plt.subplots()\n", "plt.plot(x, y, 'r', linewidth=2)\n", "plt.ylim(ymin=0)\n", "\n", "# Make the shaded region\n", "ix = np.linspace(a, b)\n", "iy = func(ix)\n", "verts = [(a, 0)] + list(zip(ix, iy)) + [(b, 0)]\n", "poly = Polygon(verts, facecolor='0.9', edgecolor='0.5')\n", "ax.add_patch(poly)\n", "\n", "plt.text(0.5 * (a + b), 30, r\"$\\int_a^b f(x)\\mathrm{d}x$\",\n", " horizontalalignment='center', fontsize=20)\n", "\n", "plt.figtext(0.9, 0.05, '$x$')\n", "plt.figtext(0.1, 0.9, '$y$')\n", "\n", "ax.spines['right'].set_visible(False)\n", "ax.spines['top'].set_visible(False)\n", "ax.xaxis.set_ticks_position('bottom')\n", "\n", "ax.set_xticks((a, b))\n", "ax.set_xticklabels(('$a$', '$b$'))\n", "ax.set_yticks([])\n", "\n", "plt.show()\n" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": { "png": { "height": 401, "width": 596 } }, "output_type": "display_data", "png": "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\nu0ULZY4ebVMiAADy+/rrr4PbtWrVUmJioo1pAAAAIgclFSKC43//U2LfvpZZoHJlpc2eLcXE2BMK\nAIATeL1erVu3LrjfpEkTG9MAAABEFkoqhL+0NCX16CEjNTU4Mp1Opc+aJfMvf7ExGAAAVt9//708\nHk9wn5IKAACg8CipEN5MU4kPPyznli2WceaIEcq+7DKbQgEAULC8T/WTKKkAAACKgpIKYS32lVcU\ns3SpZea95RZ5+vWzKREAACe3evXq4LZhGDr//PNtTAMAABBZKKkQtlxffqn4Z56xzLIbN1b6xImS\nYdiUCgCAgvn9fq1duza4X7VqVVWoUMHGRAAAAJGFkgphyfjjDyX27i3D7w/OAmXKKH3OHImnJAEA\nwtDGjRuVnp4e3G/cuLGNaQAAACIPJRXCj8ejpLvvlmP/fss4Y+pUBerWtSkUAACn9u2331r2zzvv\nPJuSAAAARCZKKoSdhCeekOu77yyzzIED5evUyaZEAACc3po1ayz7jRo1sikJAABAZKKkQliJmTdP\nsbNmWWa+jh2VNXCgTYkAACic7074AQtXUgEAABQNJRXChnP9eiU89phl5q9dW+lTp0oO/q8KAAhf\nu3bt0p49e4L7LpdL5557ro2JwsfWrVt16aWXavv27SF7z0ceeUTDhw8P2fsBAIDiwb/8ERaMgweV\n2KOHDI8nODPj45U+d67McuVsTAYAwOmdeKtf7dq1FRMTY1Oa8LFmzRrdfPPNuv/++0Na2o0YMUKf\nf/65Bg4cKNM0S/S9AoGADh8+rB07duj777/Xp59+qszMzBJ9TwAAopXL7gCATFMJDz4o565dlnHG\nxInyn3++TaEAACi8aL/Vz+PxaMaMGVq4cKF+//13Va5cWddff70GDBigxJM8dffnn39W9+7d1bNn\nT3Xv3j2kecuUKaN58+apU6dO8ng8evHFF0vkfa677jr9+OOPCgQClvk333yjGjVqlMh7AgAQzbiS\nCraLef11xSxfbpll9e0rb5cuNiUCAKBoTnyyXzQtmp6amqquXbtq1KhR6tKli7799ls9+OCDmj17\n9knLp0OHDunuu+9WgwYNNGjQoBAnzlGtWjVNmDBBb775pl5//fUSeY9bbrlFvXv3tlwlZhhGibwX\nAAClASUVbOXYvl0JQ4daZtktWihzxAibEgEAUDQZGRnasmWLZRZNV1INGjRIa9euVfv27fXAAw9o\n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\nACFkA6eYdyQ3AAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 3 } ], "metadata": {} } ] }