{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# IPython和Jupyter笔记本" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "本在线讲义使用Jupyter Notebook编写,因此首先介绍Jupter Notebook的使用方法。使用Notebook,可以方便的将理论描述、程序、数据可视化等集成在一个多媒体页面,方便大家的学习。\n", "\n", "Jupyter notebook 是一种 Web 应用,它能让用户将说明文本、数学方程、代码和可视化内容全部组合到一个易于共享的文档中,非常方便研究和教学,让编写、阅读变得一目了然。Jupyter notebook特别适合做科学计算、数据处理,其用途可以包括数据清理和探索、可视化、机器学习和大数据分析。其具有以下特点:\n", "* 编程时具有语法高亮、缩进、tab补全的功能。\n", "* 可直接通过浏览器运行代码,同时在代码块下方展示运行结果。\n", "* 以富媒体格式展示计算结果。富媒体格式包括:HTML,LaTeX,PNG,SVG等。\n", "* 对代码编写说明文档或语句时,支持Markdown语法。\n", "* 支持使用LaTeX编写数学性说明。\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Jupyter 安装\n", "安装Jupyter最简单的方法就是使用 Anaconda,其发行版附带了 Jupyter Notebook。在 conda 环境下安装 Jupyter Notebook 可以使用 \n", "\n", "```\n", "conda install jupyter\n", "```\n", "\n", "当然,也可以通过 `pip` 来安装 \n", "```\n", "pip install jupyter\n", "```\n", "\n", "安装后便可在终端中输入以下命令启动:\n", "```\n", "# jupyter notebook\n", "\n", "或者\n", "# jupyter-notebook\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 常用操作\n", "\n", "![shortcut](images/jupyter_shortcuts.png)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "podoc": { "output_text": "Screenshot of a Jupyter notebook" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Hello world!\n" ] } ], "source": [ "print(\"Hello world!\")" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "2 + 2" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "12" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "_ * 3" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0-ipython_notebook_EN.ipynb 3_Data_Structure_1.ipynb\t 7_Class_EN.ipynb\r\n", "0-ipython_notebook.ipynb 4_Data_Structure_2_EN.ipynb 7_Class.ipynb\r\n", "1_Basics_EN.ipynb\t 4_Data_Structure_2.ipynb\t images\r\n", "1_Basics.ipynb\t\t 5_Control_Flow_EN.ipynb\t Python.pdf\r\n", "2_Print_Statement_EN.ipynb 5_Control_Flow.ipynb\t README_ENG.md\r\n", "2_Print_Statement.ipynb 6_Function_EN.ipynb\t README.md\r\n", "3_Data_Structure_1_EN.ipynb 6_Function.ipynb\t\t test.txt\r\n" ] } ], "source": [ "!ls" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\npGQhIiKB/j/5Q1J9vJNhTwAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# code block & drawing\n", "\n", "%matplotlib inline\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "# generate data\n", "data_num = 100\n", "X = np.random.rand(data_num, 1)*10\n", "Y = X * 3 + 4 + 5*np.random.randn(data_num,1)\n", "\n", "# draw original data\n", "plt.scatter(X, Y)\n", "plt.xlabel(\"X\")\n", "plt.ylabel(\"Y\")\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.4" } }, "nbformat": 4, "nbformat_minor": 2 }