IPython - Beyond Normal Python - Python Data Science Handbook
IPython - Beyond Normal Python - Python Data Science Handbook
Open in Colab
(https://colab.research.google.com/github/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/0
IPython-Beyond-Normal-Python.ipynb)
There are many options for development environments for Python, and I'm often asked which
one I use in my own work. My answer sometimes surprises people: my preferred environment is
IPython (http://ipython.org/) plus a text editor (in my case, Emacs or Atom depending on my
mood). IPython (short for Interactive Python) was started in 2001 by Fernando Perez as an
enhanced Python interpreter, and has since grown into a project aiming to provide, in Perez's
words, "Tools for the entire life cycle of research computing." If Python is the engine of our data
science task, you might think of IPython as the interactive control panel.
As well as being a useful interactive interface to Python, IPython also provides a number of useful
syntactic additions to the language; we'll cover the most useful of these additions here. In
addition, IPython is closely tied with the Jupyter project (http://jupyter.org), which provides a
browser-based notebook that is useful for development, collaboration, sharing, and even
publication of data science results. The IPython notebook is actually a special case of the broader
Jupyter notebook structure, which encompasses notebooks for Julia, R, and other programming
languages. As an example of the usefulness of the notebook format, look no further than the
page you are reading: the entire manuscript for this book was composed as a set of IPython
notebooks.
IPython is about using Python effectively for interactive scientific and data-intensive computing.
This chapter will start by stepping through some of the IPython features that are useful to the
practice of data science, focusing especially on the syntax it offers beyond the standard features
of Python. Next, we will go into a bit more depth on some of the more useful "magic commands"
that can speed-up common tasks in creating and using data science code. Finally, we will touch
on some of the features of the notebook that make it useful in understanding data and sharing
results.
https://jakevdp.github.io/PythonDataScienceHandbook/01.00-ipython-beyond-normal-python.html 1/3
31/3/22, 11:28 IPython: Beyond Normal Python | Python Data Science Handbook
# Shell or Notebook?
There are two primary means of using IPython that we'll discuss in this chapter: the IPython shell
and the IPython notebook. The bulk of the material in this chapter is relevant to both, and the
examples will switch between them depending on what is most convenient. In the few sections
that are relevant to just one or the other, we will explicitly state that fact. Before we start, some
words on how to launch the IPython shell and IPython notebook.
Once you do this, you should see a prompt like the following:
Though the IPython notebook is viewed and edited through your web browser window, it must
connect to a running Python process in order to execute code. This process (known as a "kernel")
can be started by running the following command in your system shell:
https://jakevdp.github.io/PythonDataScienceHandbook/01.00-ipython-beyond-normal-python.html 2/3
31/3/22, 11:28 IPython: Beyond Normal Python | Python Data Science Handbook
$ jupyter notebook
This command will launch a local web server that will be visible to your browser. It immediately
spits out a log showing what it is doing; that log will look something like this:
$ jupyter notebook
[NotebookApp] Serving notebooks from local directory: /Users/jakevdp/PythonDataScienceH
andbook
[NotebookApp] 0 active kernels
[NotebookApp] The IPython Notebook is running at: http://localhost:8888/
[NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to ski
p confirmation).
Upon issuing the command, your default browser should automatically open and navigate to the
listed local URL; the exact address will depend on your system. If the browser does not open
automatically, you can open a window and manually open this address (http://localhost:8888/
(http://localhost:8888/) in this example).
Open in Colab
(https://colab.research.google.com/github/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/0
IPython-Beyond-Normal-Python.ipynb)
https://jakevdp.github.io/PythonDataScienceHandbook/01.00-ipython-beyond-normal-python.html 3/3