Python开发者现实版养成路线:从一无所知到无所不知
初级开发者学Python容易陷入茫然,面对市面上种类众多的编程语言和框架,重要的是坚持自己的选择,宜精不宜杂。本文是一篇指路文,概述了从编程基础、引导、文档阅读、书籍和视频、源代码等学习和积累环节,值得初学者参考。
作为一个开发者,为何要选择Python?
为什么要学习Python?为什么要选择Python,而不是其他别的20多种编程语言?当你开始走上开发者之路时,这个问题会可能会一天在你的脑海里出现多次。
选择你的第一个编程语言,就像选择一个入门级“口袋妖怪”一样。
如果你的目标不是Python,而是其他语言,那其实可以不用在往下读了。如果你对自己选择Python的决定有信心,那么这篇文章将让你获得更高的成功机会。其实选择哪种语言并不重要。但是一旦你做出决定,你就需要坚持下去。
现在网上有大量对不同编程语言/框架进行比较的文章和观点。这些内容可能会让人觉得无所适从,甚至吓到一些人,让他们怀疑自己的决定并半路放弃。
我认识一些人,声称自己掌握了3-4种语言。他们想要了解4种语言的很多细枝末节,但无法使用其中任何一种语言进行编程。这就是想要尝试一切,而没有始终坚持的结果。
Python是一种设计精良的语言。有着大量在线说明文档和教程。而且被广泛用于许多领域。所以,无论你的水平如何,对于Python而言都有很多值得探索的东西。对于其他20种语言中的大多数也同样如此。
每种语言都有自己的优点和缺点,及其最适合的应用领域。Python最常用的3个用途是数据处理、编写Web应用程序后端,以及编写自动化脚本。Python可以说是初学者的最佳选择,因为这门语言设计的基本原则侧重于清晰和简洁。
怎样学习Python?
既然你已经做出了选择,那么我们来谈谈如何学习Python。
很简单。选择一个教程,然后学完。之后选择另一个教程。休息一下,重复这个过程。
只看一本书,看一个教学视频是不行的。你需要不断地接触代码,需要让自己的脑子实现渐进式的“过载”,需要耐心、坚持、承诺(以及其他一些优秀特质)!
下面是给初学者的一个基本流程图。不同的人的路线图版本会有所不同。下面的流程仅供参考,不过,搞清楚何时进入下一阶段非常重要。大多数人做得太晚了。
你可能更喜欢选择去看edX的课程视频,而不是去读书。怎样都好,最重要的是坚持整个过程,这一点比单个教程/课程的选择更加重要。
- 通过阅读书籍建立坚实的基础。
- 参考基于Python的完成单个任务教程,比如发送电子邮件或编写文件。这些教程将介绍Python开发人员可用的有用的包和库。
- 养成阅读文档的习惯。使用可用的库构建小型应用程序。
- 深入理解Python语言及其工具。了解该领域的专家正在开展的工作。
- 直接阅读源代码。
记住,不管学习什么教程,请确保一直在真正写代码。仅仅阅读代码实例是不够的。
学习解决通用问题
学习语言(或框架/库)和学习编程之间存在着细微差别
“全栈Web开发人员”课程并不会使你成为一名优秀的程序员。只会教你如何用一个特定的程序来解决一个简单的问题(是的,这些课程中构建的大部分网络应用程序确实属于简单问题)。
了解并读懂程序是不错,但能够设计自己的程序就更棒了。注意编程结构、设计模式和算法。这些特定问题不只是Python所独有,几乎学习所有语言都要面对这些问题。
寻找答案:从一无所知到无所不知
如果你在这个过程中多次遇到困难,在知难而退之前努力尝试解决问题。很可能别人以前曾遇到过同样的问题,并且已经通过互联网得到了解决方案。此外,Python社区也非常受欢迎。你可以随时向社区中的人寻求帮助。可以加入Gitter上的Python频道。
Python中有很多值得学习的东西,被广泛用于各种领域。不要跳过基础知识阶段,忙着进入特定专业领域。学习PyTorch应该在掌握包和库之后,学习Django应该在熟悉虚拟环境之后。从长远来看,掌握Python的深入知识是值得的。当你使用一些特殊库时,将可能大大减少调试程序所花费的时间。
学好东西需要时间。可能要比你想象的时间要长。你不可能在几个月内成为专家程序员。获得进步需要时间和精力。我建议初学者关注Python至少一年。这期间免不了会有分心的事,尽量避免分心,但也不要害怕去学习和接受新事物。
Python并不是成为一个全面的开发人员所需要的唯一技能。学习Git、Markdown、HTML等知识也能得到很大的回报。在学习过程中,可能还需要掌握一些JS或统计学信息。
总之,要永远做个学习者,但不仅仅只做学习者!
了解并践行学习/实践阶段循环
任何创造性学科的学习都可以分两个阶段,学习阶段和构建阶段,彼此不断重复。
在学习阶段,你应该专注于积累知识、阅读书籍,完成每个教程并探索已经完成的工作。
在实践阶段,你应该可以通过应用知识创造的东西得到了前一阶段的结论。不要怀疑你学到的技能,编写出自己的应用程序。只有当你完成了这一阶段后,回去再进入学习阶段。
尽量平衡这两个阶段。首先进行一两个月的学习阶段,然后进入一个月的构建阶段。大多数人都害怕进入实践阶段。不要怕!将你在学习阶段掌握的知识用在这个阶段,如果真的不够,就再多循环几次。
参考链接:
https://hackernoon.com/a-realistic-roadmap-to-becoming-a-python-developer-ab5872959509
Python开发者现实版养成路线:从一无所知到无所不知的更多相关文章
- 强大的jupyter,python开发者的福音
jupyter是一种交互式计算和开发环境的笔记,ipython命令行比原生的python命令行更加友好和高效,还可以运行web版的界面,支持多语言,输出图形.音频.视频等功能. 一.安装 pip3 i ...
- Python开发者年度调研,结果出乎意料!
来源商业新知网,原标题:Python开发者年度调研:一半Python用户也用JS,2/3选择Linux系统 作为高级编程语言,Python的受欢迎程度近几年一直在往 上涨.每年,Python官方都会针 ...
- python开发者框架套件总结: package 包 frameworks
python开发者的package 包 框架套件总结: frameworks 开发环境: anaconda pycharm django awesome-django : 介绍 django ...
- Python 开发者的 6 个必备库,你都了解吗?
无论你是正在使用 Python 进行快速开发,还是在为 Python 桌面应用制作原生 UI ,或者是在优化现有的 Python 代码,以下这些 Python 项目都是应该使用的. Python那些事 ...
- Python 开发者节省时间的 10 个小技巧
Python 是一个美丽的语言,可以激发用户对它的爱.所以如果你试图加入程序员行列,或者你有点厌倦C++,Perl,Java 和其他语言,我推荐你尝试Python. Python有很多吸引程序员的功能 ...
- 笨办法学python 第四版 中文pdf高清版|网盘下载内附提取码
笨办法学 Python是Zed Shaw 编写的一本Python入门书籍.适合对计算机了解不多,没有学过编程,但对编程感兴趣的朋友学习使用.这本书以习题的方式引导读者一步一步学习编 程,从简单的打印一 ...
- 2016 年 Python 开发者调查结果
1.在团队中工作 vs 独立工作 有趣的是,半数的受访者大部分时间在团队中工作,而另外半数的受访者则独立的做项目. 在公司中工作 vs 独立从事自己的项目 大约80%的受访者告诉我们,他们在公司里面工 ...
- selenium webdriver (python) 第三版
感谢 感谢购买第二版的同学,谢谢你们对本人劳动成果的支持!也正是你们时常问我还出不出第三版了,也是你们的鼓励,让我继续学习整理本文档. 感谢乙醇前辈,第二版的文档是放在他的淘宝网站上卖的,感谢他的帮忙 ...
- Github上Python开发者应该关心的Repo
carbaugh/lice lice : Generate license files for your projects 一个用来为你的项目生成许可证的工具.这下可方便了,不用手工的去修改了! co ...
随机推荐
- JavaSE:关键字(全)
访问控制: private 访问控制方式:私有的 protected 访问控制方式:受保护的 public 访问控制方式:公共的 类.方法和变量修饰符: abstract 声明抽象,表明类或者成员方法 ...
- css 四周边框角加粗效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 驰骋工作流引擎 -Webservice接口说明文档
关键词:工作流引擎接口说明 驰骋工作流接口参数详解 接口 LocalWSI /** * 待办 * @param userNo 用户编号 * @param sysNo 系统编号,为空时返回平台所有 ...
- K3数据字典备查
select distinct f.FNumber as 系统代码, f.FName AS 系统名称, d.FTableName AS 表名,d.FDescription AS 表说明,a.[nam ...
- 编程心法 之 敏捷开发(新架构)Agile Team Organization Squads, Chapters, Tribes and Guilds
Agile Team 参考 一般情况下,一个小组有以下功能分布: Squads 每个主要的功能的开发属于一个Squad,比如说QQ这个应用,可以分为QQ空间小组.QQ会员小组等等, 每一个Squad有 ...
- 万马齐喑究可哀-中文编程的又一波"讨论"
刚申诉了自动折叠, 还是把回答转帖一下: 吴烜:假设中国人最先开发电脑和设计程序语言,那么各种程序语言会使用汉字吗? 这种有明显倾向性的问题怎么还有市场呢...不管谁先开发的电脑(就不论算盘之类是不是 ...
- Windows Server 2016-图形化之客户端加域(一)
要使用域环境,您必须将计算机加入域.只有加入域的计算机才能使用域资源.在连接期间,将在域中创建一个计算机帐户,以便将计算机作为成员进行身份验证.前边两节我们写到Windows Server 2016- ...
- 将博客搬至CSDN https://blog.csdn.net/Fredric_2014
将博客搬至CSDN https://blog.csdn.net/Fredric_2014
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十八║Vue基础: 指令(下)+计算属性+watch
回顾 今天来晚辣,给公司做了一个小项目,一个瀑布流+动态视频控制的DEMO,有需要的可以联系我,公司的项目就不对外展示了(一个后端程序员真的要干前端了哈哈哈). 书接上文,昨天正式的开始了Vue的代码 ...
- 过程 sp_addextendedproperty, 对象无效。不允许有扩展属性,或对象不存在。
过程 sp_addextendedproperty, 对象无效.不允许有扩展属性,或对象不存在. 首先这个是创建数据表的SQL,有Power Designer创建模型,直接生成的创建SQL会出现的问题 ...