Python新手?还是您已经是一位经验丰富的开发人员,希望增加和提高您的Python知识?我们为希望学习Python编程的任何人编制了一份推荐资源的书包。我们对这些资源进行了定制,以适合所有级别的Python开发人员,但列出的资源将最适用于尚在学习阶段初期或已经熟悉基础知识但还不是很高级的人员。
学习途径
首先,让我们探索理想的Python途径-从初学者到高级的道路是什么,Python有哪些职业重点领域。
- 学习Python基础知识: 与任何语言一样,首先,您需要掌握从Python语法到Python PEP-8约定的基础知识,并知道如何使用该语言。在这里,您将探索变量,表达式,运算符,条件,循环和Python数据结构。学习完Python基础知识之后,您应该开始着手进行小型脚本项目的练习。
- 使用Python变得更高级: 现在,您将在这里通过学习Python如何与Web数据交互(Web爬网能力是此处最大的成果之一),如何使用Python进行面向对象的编程,最终在Python知识中添加实用程序如何将Python与数据库(SQL数据库,NoSQL数据库和API)集成
- 专注于职业 发展道路:现在,您已经精通该语言,现在该探讨并专注于职业发展道路了。这将涉及深入研究特定职业道路的Python库和框架。以下是Python开发人员的一些常见途径及其相应的库/框架:
- Web开发 -Django和Flask框架最适合使用Python进行Web开发任务和项目
- 数据科学 —了解如何使用Python进行数据采购,数据分析和机器学习(ML)。要学习的库包括:Numpy,Matplotlib,Pandas,SciPy和SciKit Learn for ML等。
- 机器学习和人工智能 -随着人工智能在我们的日常生活中不断发展,流行的职业途径。一些需要学习的顶级库包括SciKit Learn,Tensorflow,Keras,自然语言工具包(NLTK),PyTorch,Theano等。
- 图形用户界面(GUI)编程 —使用Tkinter,wxPython,PyQT和Kivy等GUI库,您可以使用Python创建图形应用程序。
- 游戏开发 -虽然没有那么多开发人员最终从事游戏开发,但这可能是最有趣的探索途径之一。要构建游戏,PyGame是要学习的库。
此外,建议您探索 版本控制(Github是一个完美的选择), Python数据结构算法(效率总是很重要)和 DevOps(将软件开发与公司IT运营相结合的实践)。
还有大量的 预装Python库和 社区开发的软件包,不一定与职业发展道路挂钩,值得学习以完成某些任务或只是为了娱乐(原因为何?)。我个人最喜欢的-用于浏览器自动化的Selenium。
您认为我们遗漏了任何职业途径或推荐图书馆?在本文结尾处发表评论!
步骤1:学习
在本节中,我详细介绍了学习Python所需的所有资源。您可以使用以下资源从头开始学习Python或补充任何Python课程:
Python开发工具
集成开发环境(IDE)
在学习语言之前的第一步应该是选择一个IDE并进行设置。这是您编写和执行Python代码的地方。以下是需要考虑的顶级IDE:
- Visual Studio代码 -最受欢迎的IDE,不仅适用于Python,而且适用于多种编程语言。不用说,VS Code是我日常使用的
- Jupyter笔记本 -如果您的目标是采用数据科学途径,那么Jupyter就是您的最佳选择。这已成为数据科学家的行业标准工具
- 其他值得考虑的顶级选项包括:PyCharm,Atom和Spyder
您可以独立下载和安装所选的IDE,但是,我建议使用Anaconda,它与VSCode,Jupyter和Spyder一起打包,甚至是Rstudio for Data Science目标。
测试亚军
作为一个初学者,您可能想在开始测试之前就去学习基础知识。尽管如此,测试运行对于确保程序的所有元素都按设计工作是非常重要的。在Python中,我们使用以下库/框架进行测试:
- 单元测试 —内置于Python中,在Python社区中非常流行
- 鼻子 -该框架围绕unittest包裹,为测试添加更多功能
- Pytest —鉴于其简单的语法,许多Pythonista使用者现在在单元测试中使用py.test
调试器
当您学习Python并开始练习时,错误将非常普遍,因此对于许多人来说,快速识别它们是一个问题。不再!今天,您所要做的就是将代码复制粘贴到Python Tutor上以可视化其执行并帮助您查明错误或问题。一些替代调试器是 Python Debugger / PDB(Python模块)和Online GDB。
推荐的Python学习指南
从结构完善的网站学习Python,至少涵盖所有基础知识:
- Python.org提供的官方Python文档 —终极Python资源
- W3 Schools Python指南 -我个人最喜欢的初学者
- HitchHiker的Python指南 -最佳实践手册
通过阅读详细的Python书籍或PDF出版物来学习:
- Charles R. Severance的Python for Everybody [免费下载PDF] [以HTML网站访问]
- Think Python —如何像计算机科学家一样思考 Allen B. Downey
- Zed Shaw的“艰难学习Python”
- Python速成班—基于动手的基于项目的编程入门, 作者Eric Matthes
- David Beazley和Brian K.Jones撰写的 Python Cookbook
- Python技巧– Dan Bader的精彩Python功能自助餐
- 有效的Python — Brett Slatkin编写更好的Python 的 90种特定方法
最后,要学习《 Python代码样式指南》( PEP-8约定),并开始编写Pythonic代码。请访问 Python.org上的官方样式指南文档
掌握您的Python知识
已经精通Python并想测试您的知识?我们建议使用常见的面试问题来评估您的知识。毕竟,这些问题为您提供了该行业需要了解的概述:
- Guru99 — Python面试的前40名问答
- EduReka-2020年您必须准备的100个Python面试问题
- DataFlair —面向新生的150多个Python面试问答
第2步:实践
不用说- 没有实践就不要学习编码!但是,最大的问题是实际上找到了适合您水平的项目,这些项目将进行最佳测试,并使您将技能付诸实践。因此,我们将这些项目分为初学者,中级和高级级别:
这些项目大多数都是受Data Flair(2020年Python项目创意)的启发 。要了解可交付的项目,您只需进行Google搜索或 访问Data Flair链接即可获得简短说明。
标有星号的项目要求带有“ Rec”的项目才能实现图形用户界面。我建议您尝试最终实践和有趣的参与。我还试图尝试所有这些项目,并在Chaptr Github帐户中提供这些项目 。 在接下来的10周中,每周将添加3个项目存储库。捐款是开放的!
您已经完成任何这些项目了吗?或者,您还有其他值得一提的项目创意吗?使用Github Repo链接或Project Idea在文章末尾添加评论。
第3步:参与
唉! 您不再是一个随机的初学者,您对自己的技能很有信心,并且您可能已经开始使用一些启发性的Python项目来填充您的Github产品组合。您还已经开始掌握其他库来塑造您的职业道路。现在是时候继续您的Python参与并继续发展您的能力了。以下是实现此目的的一些方法:
获得认证-Python认证
我通常不喜欢证书,但是在大多数国家/地区,雇主仍然对这些传统的证明能力标准视而不见。但是,从积极的方面来看,可信的认证可以很好地测试您的能力,并且可以最好地帮助您知道您是否准备从事该行业。以下是最适合Python能力认证的两个组织:
Python学会 (由开放教育发展集团提供)在3个能力级别上提供4个认证考试:
- Entry —认证的入门级Python程序员认证
- 助理 -认证的Python编程认证助理
- 专业人员 -经过认证的Python编程1认证专业人员和经过认证的Python编程2认证专业人员
Microsoft Inc. (该公司无需介绍)主要提供在线考试,适用于各大洲的认证。您可以浏览以下认证:
- MTA —微软技术助理
- MCSA —微软认证解决方案专员
- MCSD —微软认证解决方案开发商
请注意,Microsoft正在进行 一项主要的“证书启示”(Certificate Apocalypse),并且其中一些认证考试明年将不再提供,但是一旦获得认证,无论程序是否退休,该认证将对照常2年。
继续学习-热门Python博客
保持与Python互动的最佳方法之一是通过Python Blogs和Vlogs。以下是您绝对应该关注的博客。它们在发布时都非常一致,并且拥有大量Python内容供所有人使用:
- 爱情Python- http://love-python.blogspot.com/
- Planet Python — https://planetpython.org/
- 鼠标VS。Python- https://www.blog.pythonlibrary.org/
- 真正的Python- https://www.fullstackpython.com/blog.html
- 全栈Python — https://realpython.com/
保持联系-热门的Python社区
最后,是时候让您与全球Python社区进一步互动,甚至开始做出贡献了。Pythonistas的一些受欢迎的社区是:
- r / Python -Python新闻,内容和资源的官方Reddit
- Python每周 -免费每周Python通讯订阅
- PySlackers — Python爱好者的开放式Slack频道
结论和后续步骤
现在,您就是Python开发人员!那么,您想采取什么职业道路?数据科学,机器学习和AI,游戏开发,Web开发等。Python包中是否有您感兴趣的库?现在,您可以根据自己的兴趣和职业目标轻松地规划出自己的道路。
您是否有关于有趣的Python资源的想法被排除在外?您是否已使用以上任何资源并从中获得收益?在下面发表评论,让其他人了解对您有用的内容或对您有帮助的其他资源。