自动配置、有效求助、协作编程、版本控制。一站式解决 Python 新手练习中的痛点。 />
痛点
这个学期,我在北得克萨斯大学(University of North Texas)教 INFO 5731: Computational Methods for Information Systems 课程,主要内容包括: Python 基础、自然语言处理,以及机器学习。 />
授课的对象是信息科学、数据科学专业的硕士与博士研究生。跟在国内一样,我依然使用翻转教学(flipped instruction)方式。
过去的几周,我们把“Python 基础”部分学完了。
每周,我都会要求学生阅读两本教材上的指定章节,然后把所有的代码自己重复一遍。在此基础上,对每一段代码,学生都要自己试着进行一些改动。出错也没有关系,尝试解决。
因为绝大部分学生,都是 Python 初学者。因此他们都会遇到以下的实际问题。
一、不知道如何安装和设置运行环境;
二、遇到问题会慌乱,不知如何有效寻找解决方法;
三、对于团队作业,不知该如何有效协作;
四、不懂得如何进行版本控制,代码越改越乱。
这些问题,也构成了学生的痛点。
如果不能有效加以解决,学生会把每周宝贵的学习时间,浪费到许多琐碎的无用功上。更可能的情况,是他们的信心会被打击,导致丧失学习的动力和兴趣。
因此,我为他们找到了一款合适的 Python 练习工具。这里,我把这款工具也分享给你。
下面,我给你介绍一下,如何用 Google Colab 应对上述的4个痛点,为你的 Python 练习提供辅助。
环境
新手最常见的问题,就是好不容易累积了学习的兴趣,上手不久便遇到 错。
而 Python 新手遇到的许多错误,实际上都和环境的配置有关。
例如说,Anaconda 套件下载环节,你就不知道该选择哪个版本。 />
好不容易安装好了,因为路径设置问题,连 Jupyter Notebook 都呼叫不出来。
终于能输入代码了。结果一输入就提示,你要调用的模块名称,没听说过! />
而这些,Google Colab 都帮你处理好了。
只需要打开一个浏览器(推荐 Google Chrome 或者 Firefox),输入:
https://colab.research.google.com
就可以看到以下页面。 />
选择新建 Python 3 笔记本。
然后,就能看到完全配置好的 Python 运行环境了。 />
对,就是这么简单。
你可别小瞧这个运行环境。
虽然你没有执行任何安装过程,但是它基本上涵盖了你做数据科学分析,要用到的各种工具。
这些工具包括但不限于 Numpy, Scipy, Pandas 等,甚至连深度学习的框架,例如 Tensorflow, Keras 和 Pytorch,也是一应俱全。 />
Google Colab 的深度学习环境支持,可不只是软件那么简单。Google 慷慨的提供了 GPU, 甚至是更专业化的 TPU, 供你免费使用。 />
默认状态,这些云端硬件是不开启的。你需要在菜单栏中选择 runtime,然后选择 Change runtime type。 />
就可以看到不同硬件支持的选项了。 />
有的书籍样例代码,甚至是 Python 组件,都需要 Python 2 环境才能运行,这也没关系。点击新建笔记本,你就能使用不同的 Python 版本了。 />
细心的你会发现,在上面“修改运行时设置”页面里,也可以随时调整 Python 版本。
求助
作为新手,你遇到错误和问题,是完全正常的。
Python 具有强大的 区,可以给你提供很多帮助。 />
但如果你尝试过,便可能有一种错觉——这些 Python 高手很不友好。因为你贴了问题,却没人理你。
其实,这很可能是你问问题的方式不对。
想想看,你笼统地说一个 错信息,可能的原因或许有数十甚至上百种,谁能帮你一一排除/p>
这倒也罢了。可是你明明贴了一段代码,还给出了错误信息的截图啊。为什么还是没有人伸出援手/p>
因为这些信息,可能依然不够。
想想看,你本地安装了什么样的套件中的各种模块,都分别是什么版本执行当前代码有问题,那上下文是什么不会是因为之前某个代码段落,影响了你当前段落的执行的操作系统,是否完全支持你正在使用的组件功能…
这些可能性,无穷无尽。同样,也没有人这样花时间帮你枚举。
但是有了 Google Colab ,你提问的效果却可以大大提升。
因为,你可以用** 最简单的方法,让潜在的回答者复现**你的问题。
这就是,把你的笔记本共享出去。 />
如上图,点击笔记本右上角的 Share 按钮。 />
在出现的对话框里,注意选择权限。选成可以浏览(view),就可以了。 />
然后,选择“复制链接”,链接就到了你的剪切板里面了。把它连同你的文字描述,直接贴到 Python 的论坛或者课程讨论区里。
别人只需要点击,就能查看你的全部代码、 错信息。而且,还能运行你的笔记副本。
注意,虽然你俩可能用的是不同的操作系统、不同的浏览器,但因为都用了 Google Colab ,你们的 Python 环境是完全一致的。
等到对方解决了问题,他还可以把完整的笔记本再用链接方式分享给你。你的问题于是迎刃而解。
问问题,只是寻求帮助的一个方面。
在提问之前,你还是应该自己尝试一下解决的。毫不愿意思考,直接当伸手党, 区里的人很难喜欢跟你打交道。
Google Colab 为你主动寻找问题答案,提供了工具支持。每当你遇到 错的时候,你都会看到下方有个按钮。 />
点击这个按钮, Google Colab 就会用搜索引擎,在 Stackoverflow 这个 IT 问答站点上,帮你寻找相关 错的已有答案。 />
一般来说,点击前几条信息,你就会有收获。 />
例如这次,你就很幸运,因为答案明确说明,这是因为 Python 版本带来的差异。
你只需要根据提示,进行代码的轻微调整,就能正常运行了。
协作
不知你有没有尝试过跟人协作编写代码/p>
我的课上,是有小组作业的。要求学生2-3人一组,一起用 Python 解决问题。
有的人,是这样协作的。
自己写一段代码,用邮件传给对方。
对方改完,发回来。
自己在上面修改添加,再发回去。
……
这样显然效率很低。
有没有高效的方法/p>
当然有。依然利用我们刚才已经见到过的共享功能。 />
只是这一次,在选择权限的时候,给对方“可修改”权限。 />
在你这里看起来,就是这个样子的。 />
对方还可以在代码块旁,选择添加注释。 />
例如输入以下内容。 />
你可以同步在自己的笔记本上,看到对方的注释。 />
这样一来,团队协作 Python 练习沟通的效率,自然就高了许多。
如果是打算把你的成果展示出来,你可以使用 Google Colab 与 Github 的集成功能。 />
如上图,选择保存副本到 Github 。 />
然后,选择你希望保存到的 Github 项目。
保存完毕后,对应的 Github 页面会自动打开,供你预览。 />
其中可以包含全部的文字、图片、代码、输出信息。注意笔记本的顶部,有一个“在 Colab 打开”的链接。
点击它,你就能迅速开启 Google Colab 环境,并且直接运行这个 Github 上的笔记副本。 />
版本
当你不停地尝试和改动代码的时候,很有可能会把问题改得更加糟糕。这时候,你恨不得有一个时光机,可以让你回到错误少一点的时候。
这个时光机,Google Colab 是提供了的。 />
点击菜单里面的 Revision history 功能,你就能看到当前笔记本已保存的全部历史版本。 />
包括修改时间、谁改的、文件大小等各种信息,一应俱全。
想回到哪个版本,点一下“恢复”按钮就可以了。
另外,你也可以把 Google Colab 笔记本,直接下载成为 ipynb 文件,在本地保存副本。 />
一定要注意选择需要的存储路径,避免不知存到哪里去了。 />
我一般让学生交作业的时候,都需要同时提交 Google Colab 链接,以及一个 ipynb 文件。
二者的内容,应该是一样的。既然如此,为什么还需要提交两样东西呢/p>
这个问题,作为思考题,留给你。请注意联系本节标题,加以分析。
有了 ipynb 文件,你可以用本地的 Jupyter Notebook 开启。但是如果你只是想查看内容的话,这里给你推荐一个更好的工具,叫做 nteract 。它可以帮你直接开启 ipynb 文件,用于查看。 />
这样,你就没必要每次都用 Jupyter Notebook 命令开启后台服务,然后再到浏览器中点开对应的 ipynb 了。
小结
还记得在《如何高效学 Python 一文中,我给你推荐过的经典教材《笨办法学 Python》吧/p>
《笨办法学 Python》指出了一条看似笨拙,却非常有效的学习路径。我上课的时候,也一直在跟学生们强调—— Python 这样的实践类技能,只能练中学(Learn by doing)。
有效求助
协作编程
版本控制
这样一来,你可以把宝贵的时间,聚焦在技能的掌握和应用;而不是久病成医,成为“环境配置专家”了。
祝 Python 编程学习愉快!
延伸阅读
你可能也会对以下话题感兴趣。点击链接就可以查看。
如果你对 Python 与数据科学感兴趣,不妨阅读我的系列教程索引贴《如何高效入门数据科学,里面还有更多的有趣问题及解法。
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树科学计算基础软件包NumPy安装配置212682 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!