第一行 Python 代码

第一行 Python 代码

学会一门语言最痛苦的不是说而是动手做。

欢迎来到编程世界的第一关。我们已经了解 ,所有的高级程序设计语言都必须经过编译器处理,转换成低级的机器语言后方可执行。在写第一行代码之前,有必要搭建好编程(编译)环境。然而,搭建过程并非想当然的那么轻松。初次学习编程,难免会为自己不会搭建编程环境,又或者三番几次未能成功而苦恼。就这么看着自己被拒之门外吗?

太长不看版:

  • Anaconda 可以避免搭建编程环境时产生不必要的麻烦,并且方便管理员组织各类资源库。
  • Anaconda 提供 Jupyter Notebook、Spyder、Orange 等适合 AI 编程的 IDE。其中 Jupyter Notebook 因更好的便捷性、易用性和交互性,在学界和工业界被广泛使用和追捧。
  • Jupyter Notebook 支持无需等到重新编译完成即可快速验证代码。


I. Anaconda

Anaconda 和 Python 之意相似,都是指“大蟒蛇”。Anaconda是一个开源的Python发行版本,包含了 conda、Python等180多个科学包和依赖项,让我们上手就能做数据科学相关的事情。

Anaconda 安装指引

  1. 下载页选择适合电脑系统的软件安装包,建议不要安装 Python 2.+ 的版本。
  2. 按照界面指引,并勾选软件出厂默认配置,逐步完成安装流程,不要关闭任何窗口。
  3. 在启动菜单检查能够看见 Anaconda Navigator 程序图标,或者在终端敲下 conda --version 并回车可见版本号,说明已经安装成功。

    Anaconda 通过管理工具包、开发环境和 Python 版本,大大简化了工作流程。不仅可以方便地安装、更新和卸载工具包,在首次安装时还能自动装上相应的依赖包,同时还能使用不同的虚拟环境隔离不同要求的项目。

从 Anaconda Navigator 导航页中可以看见,它提供包括 Jupyter Notebook、Spyder、Orange(数据挖掘) 、RStudio(R语言统计学习)等用于开发或分析的应用。其中 Jupyter Notebook 是需要我们重点学习的。

Anaconda Navigator

II. Jupyter Notebook

Jupyter Notebook 是一款基于 Web 设计的 IDE,支持 Python、Scala、C、C++ 等编程语言(需要借助内核)。安装好 Anaconda 之后,只需在 Navigator 中找到并打开,或者在终端执行命令 jupyter notebook 来启动。尔后浏览器会自动打开 http://localhost:8888 的地址,这就是电脑上 Jupyter Notebook 的工作位置。如果碰见没有自动打开的情况,可在浏览器地址栏输入并访问此时终端显示的 URL (务必含 token),否则可能需要更换浏览器。

另外,Jupyter Notebook 的实时交互性也是很强大的。实时交互由时刻运行的内核保证,只要内核没有挂掉,那么任何已产生的变量(包括对象、函数)都将活跃在内存中,随时能够被程序访问。这种特性的优势在于支持立即验证你的代码,而不需要等到重新编译完成。

Jupyter Notebook 操纵界面主要元素是单元格,由代码部分和输出结果组成。单元格还可以切换到 Markdown 输入模式,此时可以用于写作。

Jupyter Notebook 界面

Jupyter Notebook 技巧

  • 单元格不仅可以写代码,还可以写文字。点击上方 Toolbar 可以切换到 Markdown(标记)。
  • 单元格处于 focus 状态时,按下字母 A 键将在下方新增一个单元格,按下两次字母 D 键将删除当前单元格。
  • 单元格处于 focus 状态时,按下键盘 Shift + Enter 可运行当前单元格,按下 Tab 键弹出代码补全提示。

怎样看单元格在不在 focus 状态?单元格旁指示器显示为绿色是 focus 状态,显示为蓝色则不在 focus 状态。


III. “Hello, Python!”

让我们在 Notebook 中增加一个代码单元格,并写下一句简短的话

1
print("Hello, Python!")

这句话将告诉编译器,把 Hello, Python! 打在屏幕上。

同时按键盘 Shift + Enter,验证一下吧!


IV. 写在最后

现在你已经成功写出第一行代码,未来还将迎来第一个函数、第一个类、第一个 100 行……

千里之行始于足下。在漫漫的 AI 编程路上,Jupyter Notebook 便是最好的随身练习笔记本。

延伸阅读


# AI, Python

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×