来源: ApacheCN『USF MSDS501 计算数据科学中文讲义』翻译项目原文:A first taste of Python toolshtml
译者:飞龙python
协议:CC BY-NC-SA 4.0git
启动Terminal.app
(Mac)或任何bash
终端,shell,它是 UNIX 风格的命令行提示符程序。你应该看到一个闪烁的光标和一个$
提示符:程序员
$
上面的$
符号只是提示,终端正在等待您输入内容。执行命令后,您将再次看到$
提示符。github
命令行是一个很是低级的接口,用于与计算机的操做系统进行通讯。您能够将终端视为诊断计算机,机械师能够将其插入汽车中,来获取控制权。仪表板相似于咱们大多数时候使用的窗口图形界面。成为一名程序员就像成为一名机械师;有时你须要更强大但更复杂的工具来操做机器。shell
你应该或多或少老是运行一个命令行 shell,以防你须要作一些低级别的事情。机械师在他或她开始工做时所作的第一件事,就是链接诊断计算机。你也应该这样。apache
命令行其实是一个完整的编程语言,包含循环和全部内容,但大多数时候咱们只是执行命令。命令具备参数,就像编程语言中的函数调用具备参数同样。如下是如何在命令行打招呼:编程
$ echo "hello" hello $
经过按返回键终止命令。小程序
echo
命令相似于 Python 代码中的print
命令。浏览器
执行该命令后,提示符将返回,指示您能够键入另外一个命令。
咱们能够作不少事情; 这是另外一个:
$ date Wed Jul 12 14:18:51 PDT 2017
咱们能够将一个参数传递给命令(相似 Python 中的函数调用):
$ date "+%Y-%m-%d" 2018-07-08
这是一个很酷的例子,来自命令行的循环检查全部.md
文件(你不须要在实验中运行这个文件;我只是在这里展现):
$ for f in *.md; do echo $f; done aws.md bash-intro.md combinations.md complexity.md computation.md data-in-memory.md data.md files.md git.md operations.md planning.md programming.md reading-code.md sqrt.md
在命令行中,键入如下命令以验证您是否能够访问python3
:
$ which python3 /Users/parrt/anaconda3/bin/python3
或者,更好的是,确保默认的 Python 是版本 3:
$ which python /Users/parrt/anaconda3/bin/python
Python 程序应该在 Anacondabin
(二进制)目录中,该目录包含全部二进制可执行文件。若是你没有在which
命令的输出中看到 anaconda,你须要查看 Anaconda 的文档,并找出你没有运行适当的 Python 的缘由。(极可能你的PATH
环境变量有问题。)如今可使用任何 3.X 版本的 Python 运行了。
接下来,运行该程序并确保您有最新版本如 3.6.5:
$ python Python 3.6.5 | packaged by conda-forge | (default, Mar 30 2018, 00:00:55) [GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>>
接下来尝试导入一个库:
$ python Python 3.6.5 | packaged by conda-forge | (default, Mar 30 2018, 00:00:55) [GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import pandas as pd >>>
你不该该获得错误。
另请参阅个人书机器学习机制中的计算机环境健全性检查。
如今让咱们跳转到交互式 Python shell。简单来讲,它与控制计算机的 bash 命令行 shell 相同。二者都是编程语言;他们只是有不一样的专长。当咱们从 bash shell 跳到 Python 的 shell 时,它就像是从法国跳到德国边境。咱们不得不中止说法语并开始讲德语。(或者,若是你是美国人,请继续说英语,由于咱们很懒,不懂任何外语。哈哈)当你退出 Python 解释器时,你会回到 bash 世界,就像你从德国到法国。
要进入 Python 世界,请从 bash $
提示符输入python
,就像咱们在上一节中所作的那样。您应该看到它正在使用Anaconda 版本。 若是没有,这意味着您正在使用系统上的默认 Python。
如今,从 Python 提示符>>>
(咱们再也不使用bash
),键入500 + 1
后跟换行符。你应该看到这样的东西:
$ python Python 3.6.5 |Anaconda, Inc.| (default, Apr 26 2018, 08:42:37) [GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 500+1 501 >>>
Python 已经求值了表达式并将结果打印回屏幕。好像咱们使用了print
函数调用,这给了咱们相同的结果:
>>> print(500+1) 501
Python 交互式 shell 当即打印表达式值,但在将程序做为脚本运行时(即不是交互式)则不是这种状况。
要退出交互式 shell 并返回命令行(终端程序),请键入quit()
(或ctrl-D
)并按下回车:
>>> quit() $
$
提示符表示您回到了 bash 命令行。 您不能再键入 python 代码。
访问磁盘上合适的目录(文件夹),或建立一个,例如/Users/YOURID/msan501/inclass
。(不要在任何目录或文件名中使用空格......永远不要!)如今在该目录中建立一个名为hello.py
的**文本文件,其中只包含一行:
500+1
使用您选择的编辑器,虽然nano
是一个很好的编辑器,由于当咱们进行云计算时,您将可以在远程服务器上使用它。 Sublime 和 TextEdit.app 也有效。
这个“代码”正是您在交互式 Python shell 中首先输入的内容。 将文件保存在inclass
目录或任何调用目录中。
一旦使用编辑器将 Python 文件写入磁盘,您应该可以使用命令行中的cd
(更改目录)跳转到该目录:
$ cd /Users/YOURID/msan501/inclass
使用ls
获取目录列表:
$ ls hello.py
经过在命令行键入如下内容,验证是否已正确建立 Python 脚本:
$ cat hello.py 500+1 $
如下是最多见错误的解决方案:
.txt
放在文件名的末尾;它必须是.py
TextEdit.app
。只需确保保存为纯文本而不是“富文本”。还有不少文本编辑器,如 Sublime 和 TextMate。(若是你真的很硬核,你将学习vi
或emacs
,你会看到我在课堂上使用它。)你也能够在命令行中使用nano
,直接在命令行窗口中进行编辑。如今,咱们将运行该程序/脚本:
$ python hello.py $
咱们没有任何输出。这是一个相当重要的区别。交互式 Python shell 会当即打印表达式值,由于它是交互式的。当您从命令行运行文件时,它假定您但愿像脚本同样,以批处理模式执行代码。这就是为何咱们没有print
语句就得不到任何输出。
如今编辑该文件并将其更改成:
print(500+1)
保存文件并从新运行。 如今您应该看到:
$ python hello.py 501 $
如今,除了使用基于 Jupyter Lab 浏览器的环境以外,咱们将作一样的事情。 (请参阅正在编写的 ML 书中的您的机器学习开发环境来了解更多信息。)
从命令行启动 Jupyter:
$ jupyter lab I 11:27:00.606 LabApp] [jupyter_nbextensions_configurator] enabled 0.2.8 [I 11:27:00.613 LabApp] JupyterLab beta preview extension loaded from /Users/parrt/anaconda3/lib/python3.6/site-packages/jupyterlab [I 11:27:00.613 LabApp] JupyterLab application directory is /Users/parrt/anaconda3/share/jupyter/lab [W 11:27:00.616 LabApp] JupyterLab server extension not enabled, manually loading... ...
这将启动一个程序,在您的浏览器中启动一个选项卡:
<img src="https://user-gold-cdn.xitu.io...;h=1000&f=png&s=19693" width="60%">
单击Notebook
类别下的Python 3
图标,可为您建立一个新的笔记本窗口:
<img src="https://user-gold-cdn.xitu.io...;h=388&f=png&s=14891" width="80%">
在In []
旁边的第一个单元格中键入500 + 1
。您应该看到在它下面的Out
部分生成的输出 501。按control-enter
,或工具栏中的右三角形来执行该单元格。
这是一个交互式环境,因此你能够返回去编辑500 + 1
,好比说print(500 + 1)
。 这样作,而后再次点击control-enter
来运行。 你应该获得相同的输出。
您应该可以很是快速地测试 Python 小程序或代码段。重复这些过程,直到它们成为第二本能。