Python如何快速上手? 快速掌握一门新语言的方法


Posted in Python onNovember 14, 2017

那么Python如何快速上手?找来了一篇广受好评的新语言学习方法介绍,供大家参考。

听说,你决定要为你的 “技能树” 再添加一门特定的编程语言。那该怎么办呢?

在这篇文章中,作者提出了 12 项关于学习技术的建议。记住每个人学习的方式都不一样。其中一些可能对你十分有用,而其他的则可能无法满足你的需求。如果你开始担心一个策略,请尝试另一个策略并看看它哪里适合你。

1. 将其与类似的语言进行比较。当你首次观看有关该语言的第一个教程或阅读代码时,请尝试猜测该语言的每个部分将会做什么,并检查你的判断是否正确。 如果记笔记可以帮助你整合信息,请拿起一张纸并记下三个列表:

  • 看起来很熟悉的东西,并且做了预期中的事
  • 看起来很熟悉的东西,但做了意料之外的事
  • 看起来完全是新的东西

例如,如果我用来自 Python 和 C 背景的 Rust 代码进行此练习,那么在第一个列表中,我会放上用于表示范围的花括号,!(看起来像是布尔类型的 非,但实际上是 Rust 中的宏定义)则放在第二个列表,类型签名语法(type signature syntax)放在第三个列表。

如果你保留着初始列表的副本,一旦你更熟练,可使用它通过语言反思你的进展,并提醒自己在尝试向其他人讲授该语言时,有哪些看起来不熟悉的概念。

2. 阅读语言的官方文档。如果希望在使用之前吸收大量信息,从阅读语言的参考资料中可能会受益。不用担心它们会对你催眠,参考文献通常是用于查找使用,而不是用来记忆。

3. 使用互联网搜索。搜索网络是一个很好的方式,可提供有关特定错误和一般最佳做法的信息。当收到错误信息时,应搜索信息中看起来是错误的独一无二的部分,但不是代码唯一的部分。例如,如果错误提示 "Error on line 53: Invalid argument exception(错误在第 53 行:无效的参数异常)",以语言名称和字符串 “Invalid argument exception” 这样的组合搜索,以找到最佳的结果。记住要将错误信息中的所有引用内容都包含在内。

还可以在网络中搜索有关解决语言中特定问题的最佳做法的博文。评估搜索结果中显示的博客帖子的质量和决定认真采用他们的建议时,请查看作者的公共代码组合以及发布日期。

4. 与社区接触。虽然博客和新闻文章具有大量有用的信息,但是你尝试编写的特定代码片段总会有些微妙之处。不要害怕在邮件列表中发帖,或加入 IRC 和 Slack 频道以寻求帮助。

要提出有帮助的回复的问题,请确保在正确的地方提问。许多语言都有 “初学者” 邮件列表或聊天频道,专门针对可能会频繁询问的问题而建立。当提出问题时,请务必先总结准备做什么、已做过的东西以及发生的情况。尽量为专家提供足够的上下文来了解问题,但不需要无关紧要的细节。提出问题后,请务必坚持一段时间来听取建议或会回答你的疑问可能产生的后续问题。

5. 编写玩具程序。一次练习一个新的概念,很少有任务可打败只使用某个概念的玩具程序。你可以将重点放在尽可能让你的代码清洁和惯用性上。如果你将解决 Project Euler 或 Rosetta Code puzzle 作为玩具程序,则可以将你的解决方案与其他使用相同语言编写的解决方案进行比较。

6. 使用该语言编写 “生产就绪(Production-Ready)” 的代码。玩具程序是一个很好的第一步,但在更逼真的的环境中使用一门语言可帮助探索其现实使用中的优势和挑战。考虑将一个熟悉的、相对较小的、经过良好测试的程序移植到新的语言,以探索其在现实使用的应用。

7. 阅读一本关于这门语言的书籍。如果有好几本有用的书,比较它们的评论,并考虑哪位作者的背景和自己的最相似。现在有很多电子书可以免费在线阅读。

在购买有关该语言的书籍之前,请先查看书籍出版的日期以及其示例所涵盖的语言版本。如果使用的是较旧的书籍,请务必使用其所使用的语言版本的示例。还要在网上调查一下,以了解自出版以来语言发生了怎样的变化。

8. 观看讲座和课程。如果你学习的语言在在线课堂中有讲授,那么视频应该是公开的。除了学术讲座之外,还可以考虑寻找录制讲座、会议谈话和有关该语言的博客。当在看电视时,谈谈你的新语言是一个将学习融入日常生活很好的方式。

9. 阅读示例代码。大多数关于编程语言的书籍都会包含代码片段。你也可以在博客和 Rosetta Code 上找到示例代码。运行示例代码、修改它们,并尝试预测修改后会发生那些情况。

10. 阅读生产代码。查找有关该语言所有类型和大小的项目的一种方法是在 GitHub 上搜索它。按最受欢迎或最具影响力进行排序,你的热门搜索将包括最受欢迎的开源工具。如果想要了解开源项目的设计,可通过邮件列表或 IRC 来与社区进行互动。你甚至可能会发现一些 bug。

11. 寻找好的工具。当使用新的语言时,可向其更有经验的用户请教,询问他们的开发环境。你可能会发现,一个特定的文本编辑器或 IDE 对于新语言的支持比你习惯通常使用的要好。调查在新语言生态系统中管理依赖关系、格式化、模糊化和单元测试代码的选项。

12. 保持你的热情。入门新的语言很容易,但变得真正精通它通常是一个需要多年的旅程。庆祝一路上你的成功,并与追随你脚步的学习者分享你所学到的知识,保持着学习编程的兴趣。

还有其他学习新的编程语言的技巧吗?欢迎大家在评论区中交流。

编译自:opensource.com

相关书籍推荐:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python程序中用csv模块来操作csv文件的基本使用教程
Mar 03 Python
Python中set与frozenset方法和区别详解
May 23 Python
Python selenium文件上传方法汇总
Nov 19 Python
Django中的ajax请求
Oct 19 Python
python 将list转成字符串,中间用符号分隔的方法
Oct 23 Python
pyqt5 实现在别的窗口弹出进度条
Jun 18 Python
python下的opencv画矩形和文字注释的实现方法
Jul 09 Python
python3 selenium自动化测试 强大的CSS定位方法
Aug 23 Python
使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
Mar 16 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
Jul 28 Python
聊聊python在linux下与windows下导入模块的区别说明
Mar 03 Python
python调试工具Birdseye的使用教程
May 25 Python
python+opencv实现的简单人脸识别代码示例
Nov 14 #Python
解读! Python在人工智能中的作用
Nov 14 #Python
python利用有道翻译实现"语言翻译器"的功能实例
Nov 14 #Python
TensorFlow在MAC环境下的安装及环境搭建
Nov 14 #Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
Nov 14 #Python
Python中import机制详解
Nov 14 #Python
AI人工智能 Python实现人机对话
Nov 13 #Python
You might like
PHP 的 __FILE__ 常量
2007/01/15 PHP
PHP删除特定数组内容并且重建数组索引的方法.
2011/03/25 PHP
使用Rancher在K8S上部署高性能PHP应用程序的教程
2020/07/10 PHP
DOM精简教程
2006/10/03 Javascript
javascript 类定义的4种方法
2009/09/12 Javascript
JavaScript动态调整TextArea高度的代码
2010/12/28 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
jQuery+PHP+MySQL实现无限级联下拉框效果
2016/02/19 Javascript
浅谈Javascript中的函数、this以及原型
2016/10/09 Javascript
Angular2 之 路由与导航详细介绍
2017/05/26 Javascript
详解用vue.js和laravel实现微信授权登陆
2017/06/23 Javascript
vue.js源代码core scedule.js学习笔记
2017/07/03 Javascript
JS文件中加载jquery.js的实例代码
2018/05/05 jQuery
jQuery pjax 应用简单示例
2018/09/20 jQuery
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
2019/01/15 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
2019/03/13 Javascript
原生js实现点击按钮复制内容到剪切板
2020/11/19 Javascript
[36:19]2018DOTA2亚洲邀请赛 小组赛 A组加赛 Newbee vs LGD
2018/04/03 DOTA
[25:45]2018DOTA2亚洲邀请赛4.5SOLO赛 Sylar vs Paparazi
2018/04/06 DOTA
[03:12]完美世界DOTA2联赛PWL DAY7集锦
2020/11/06 DOTA
Python Django使用forms来实现评论功能
2016/08/17 Python
python爬虫基本知识
2018/03/05 Python
python docx 中文字体设置的操作方法
2018/05/08 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
2018/05/30 Python
目前最全的python的就业方向
2018/06/05 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
2019/03/30 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
2019/08/12 Python
Python实现图片裁剪的两种方式(Pillow和OpenCV)
2019/10/30 Python
OpenCV中VideoCapture类的使用详解
2020/02/14 Python
Soft Cotton捷克:来自爱琴海棉花的浴袍
2017/02/01 全球购物
Ariat英国官网:为世界顶级马术运动员制造最优质的鞋类和服装
2020/02/14 全球购物
2014年幼儿园教研工作总结
2014/12/04 职场文书
2015年十一国庆节演讲稿
2015/03/20 职场文书
九年级化学教学反思
2016/02/22 职场文书
创业开店,这样方式更合理
2019/08/26 职场文书
高考要来啦!用Python爬取历年高考数据并分析
2021/06/03 Python