热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python开发者现实版养成路线:从一无所知到无所不知

初级开发者学Python容易陷入茫然,面对市面上种类众多的编程语言和框架,重要的是坚持自己的选择,宜精不宜杂。本文是一篇指路文,概述了从编程基础、引导、文档阅读、书籍和视频、源代码等学习和积累环节,值
初级开发者学Python容易陷入茫然,面对市面上种类众多的编程语言和框架,重要的是坚持自己的选择,宜精不宜杂。本文是一篇指路文,概述了从编程基础、引导、文档阅读、书籍和视频、源代码等学习和积累环节,值得初学者参考。

作为一个开发者,为何要选择Python?

为什么要学习Python?为什么要选择Python,而不是其他别的20多种编程语言?当你开始走上开发者之路时,这个问题会可能会一天在你的脑海里出现多次。

选择你的第一个编程语言,就像选择一个入门级“口袋妖怪”一样。

如果你的目标不是Python,而是其他语言,那其实可以不用在往下读了。如果你对自己选择Python的决定有信心,那么这篇文章将让你获得更高的成功机会。其实选择哪种语言并不重要。但是一旦你做出决定,你就需要坚持下去。

现在网上有大量对不同编程语言/框架进行比较的文章和观点。这些内容可能会让人觉得无所适从,甚至吓到一些人,让他们怀疑自己的决定并半路放弃。

img

我认识一些人,声称自己掌握了3-4种语言。他们想要了解4种语言的很多细枝末节,但无法使用其中任何一种语言进行编程。这就是想要尝试一切,而没有始终坚持的结果。

Python是一种设计精良的语言。有着大量在线说明文档和教程。而且被广泛用于许多领域。所以,无论你的水平如何,对于Python而言都有很多值得探索的东西。对于其他20种语言中的大多数也同样如此。

每种语言都有自己的优点和缺点,及其最适合的应用领域。Python最常用的3个用途是数据处理、编写Web应用程序后端,以及编写自动化脚本。Python可以说是初学者的最佳选择,因为这门语言设计的基本原则侧重于清晰和简洁。

怎样学习Python?

既然你已经做出了选择,那么我们来谈谈如何学习Python。

很简单。选择一个教程,然后学完。之后选择另一个教程。休息一下,重复这个过程。

只看一本书,看一个教学视频是不行的。你需要不断地接触代码,需要让自己的脑子实现渐进式的“过载”,需要耐心、坚持、承诺(以及其他一些优秀特质)!

下面是给初学者的一个基本流程图。不同的人的路线图版本会有所不同。下面的流程仅供参考,不过,搞清楚何时进入下一阶段非常重要。大多数人做得太晚了。

img

你可能更喜欢选择去看edX的课程视频,而不是去读书。怎样都好,最重要的是坚持整个过程,这一点比单个教程/课程的选择更加重要。

  • 通过阅读书籍建立坚实的基础。
  • 参考基于Python的完成单个任务教程,比如发送电子邮件或编写文件。这些教程将介绍Python开发人员可用的有用的包和库。
  • 养成阅读文档的习惯。使用可用的库构建小型应用程序。
  • 深入理解Python语言及其工具。了解该领域的专家正在开展的工作。
  • 直接阅读源代码。

记住,不管学习什么教程,请确保一直在真正写代码。仅仅阅读代码实例是不够的。

学习解决通用问题

img

学习语言(或框架/库)和学习编程之间存在着细微差别

“全栈Web开发人员”课程并不会使你成为一名优秀的程序员。只会教你如何用一个特定的程序来解决一个简单的问题(是的,这些课程中构建的大部分网络应用程序确实属于简单问题)。

了解并读懂程序是不错,但能够设计自己的程序就更棒了。注意编程结构、设计模式和算法。这些特定问题不只是Python所独有,几乎学习所有语言都要面对这些问题。

寻找答案:从一无所知到无所不知

img

如果你在这个过程中多次遇到困难,在知难而退之前努力尝试解决问题。很可能别人以前曾遇到过同样的问题,并且已经通过互联网得到了解决方案。此外,Python社区也非常受欢迎。你可以随时向社区中的人寻求帮助。可以加入Gitter上的Python频道。

Python中有很多值得学习的东西,被广泛用于各种领域。不要跳过基础知识阶段,忙着进入特定专业领域。学习PyTorch应该在掌握包和库之后,学习Django应该在熟悉虚拟环境之后。从长远来看,掌握Python的深入知识是值得的。当你使用一些特殊库时,将可能大大减少调试程序所花费的时间。

学好东西需要时间。可能要比你想象的时间要长。你不可能在几个月内成为专家程序员。获得进步需要时间和精力。我建议初学者关注Python至少一年。这期间免不了会有分心的事,尽量避免分心,但也不要害怕去学习和接受新事物。

Python并不是成为一个全面的开发人员所需要的唯一技能。学习Git、Markdown、HTML等知识也能得到很大的回报。在学习过程中,可能还需要掌握一些JS或统计学信息。

总之,要永远做个学习者,但不仅仅只做学习者!

了解并践行学习/实践阶段循环

img

任何创造性学科的学习都可以分两个阶段,学习阶段和构建阶段,彼此不断重复。

学习阶段,你应该专注于积累知识、阅读书籍,完成每个教程并探索已经完成的工作。

实践阶段,你应该可以通过应用知识创造的东西得到了前一阶段的结论。不要怀疑你学到的技能,编写出自己的应用程序。只有当你完成了这一阶段后,回去再进入学习阶段。

尽量平衡这两个阶段。首先进行一两个月的学习阶段,然后进入一个月的构建阶段。大多数人都害怕进入实践阶段。不要怕!将你在学习阶段掌握的知识用在这个阶段,如果真的不够,就再多循环几次。

参考链接:

https://hackernoon.com/a-realistic-roadmap-to-becoming-a-python-developer-ab5872959509


推荐阅读
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了腾讯最近开源的BERT推理模型TurboTransformers,该模型在推理速度上比PyTorch快1~4倍。TurboTransformers采用了分层设计的思想,通过简化问题和加速开发,实现了快速推理能力。同时,文章还探讨了PyTorch在中间层延迟和深度神经网络中存在的问题,并提出了合并计算的解决方案。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 2022年的风口:你看不起的行业,真的很挣钱!
    本文介绍了2022年的风口,探讨了一份稳定的副业收入对于普通人增加收入的重要性,以及如何抓住风口来实现赚钱的目标。文章指出,拼命工作并不一定能让人有钱,而是需要顺应时代的方向。 ... [详细]
author-avatar
风中摇曳一
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有