怎么进入python练习程序_Python 应该怎么去练习和使用?

目录

一、 Python职业发展方向

二、 需要学习的知识点

2.1. 先看基础知识点

2.2. 再看企业的要求

2.2.1. 岗位1要求

2.2.2. 岗位2要求

2.2.3. 岗位3要求

2.3. 我的知识技能列表

三、 项目实战

3.1. 先模仿别人

3.2. 再实践运用

俗话说“读万卷书不如行万里路。”Python学习也是一样,掌握了Python基础知识后,最好的突破和提升自己Python技能的方法就是实战。

飞哥的学习理念是:“宁精勿杂,宁专勿多。为实战而学习,在实战中再学习。”

“随便找本书学完Python,基础和常用模块使用没有太大问题。”说明你的学习能力还是不错的,但只是学习了Python基础,你已经进入一个学习成长的瓶颈期。这个瓶颈期,是每个开发者都会遇到的。突破瓶颈的一个关键,就是给自己一个不一样的学习/工作环境,所以最好的办法就是找个实际项目实战。

如何找实战项目了?

首先,要选择自己以后的Python职业发展方向。因为,不同的Python方向,所要学习的Python相关的知识点是不一样的。

然后,根据选择的Python方向,列出要学习的知识点。对这些知识点做一个优先级排序,哪些知识点是必须要学一些基础的,因为这些知识点是你实战项目时首先要用到的。哪些知识点是在以后做项目的过程中遇到后再去学习的。

这样,你就能以最快的学习周期进入到实战状态,而不是一开始就陷入到一大堆的语言学习泥沼中。这种方法在我的语言技能学习中让我受益良多。

最后,找项目进行实战。项目实战,推荐以下顺序进行:

1) 先学习别人的项目(模仿别人);

推荐在GitHub上找适合新手练习的小项目。

2) 和你生活/学习相关的需求,你都可以拿来做一个项目(实践运用)。

说到这里,飞哥想起了一位同事的传奇经历:

有个同事,是做人工智能算法的,研究生时学的就是人工智能。毕业后,很看好这个方向,工作也是找的这方向的工作,做的算法用于工业生产线上面的自动化设备上面。据说,曾经一个人,负责并完成了整个生产线的算法编写,最后顺利运行。他当时的技术水平已经快到专家水平,人也年轻,很受老板器重,经常被委以重任。

这哥们的实力,在公司可谓是有权有势有技术,这就是技术专业的力量。但在这家公司,已经没有可以让他技术水平再提高的实战项目了,所以开始在外面投简历找工作,找新的平台。

他每次去面试,先说说自己的牛逼项目经验,然后就会说:“我要找的是我只做算法,其它的工作我不会,也别让我去做。”

他的职业方向非常的明确和专注,“只做算法,走专家路线,在实战中不断的使自己成长和突破。”

当然,以这哥们的要求和实力,只能去大公司,因为,只有大公司有实力和平台让他这样专注的做算法。然而,他获取的回报却是相当的可观。

通过飞哥这个同事的经历,飞哥想说的是:“选择一个有前景的职业方向后,一定要走专家路线。专家也是从菜鸟成长起来的,是菜鸟通过一个个的实战项目到达专家的。”

接下来,飞哥就从这3方面,为小伙伴进行分享,掌握高效的Python学习方法和技巧,为工作而学习。

一、 Python职业发展方向

python简单易学,语法灵活的特性,可以极大的节省开发时间;拥有强大的开发社区以及庞大的第三方库生态。让Python在以下场景占据重要地位:

1) Web开发;

基于Python的Web开发框架不要太多,比如耳熟能详的Django,还有Tornado,Flask。其中的Python+Django架构,应用范围非常广,开发速度非常快,学习门槛也很低,能够帮助你快速的搭建起可用的WEB服务。

2) 自动化运维;

这几乎是Python应用的自留地,作为运维工程师首选的编程语言,Python在自动化运维方面已经深入人心,比如Saltstack和Ansible都是大名鼎鼎的自动化平台。

3) 科学计算;

随着NumPy,SciPy,Matplotlib,Enthoughtlibrarys等众多程序库的开发,Python越来越适合于做科学计算、绘制高质量的2D和3D图像。和科学计算领域最流行的商业软件MATLAB相比,Python是一门通用的程序设计语言,比MATLAB所采用的脚本语言的应用范围更广泛,有更多的程序库的支持。虽然MATLAB中的许多高级功能和toolbox目前还是无法替代的,不过在日常的科研开发之中仍然有很多的工作是可以用Python代劳的。

4) 网络爬虫;

网络爬虫通俗的讲就是通过程序去获取web页面上自己想要的数据,也就是自动抓取数据。世界上80%的爬虫是基于Python开发的,掌握爬虫技能,可为后续的大数据分析、挖掘、机器学习等提供重要的数据源。其Scrapy爬虫框架应用非常广泛。

5) 数据分析;

在大量数据的基础上,结合科学计算、机器学习等技术,对数据进行清洗、去重、规格化和针对性的分析是大数据行业的基石。Python是数据分析的主流语言之一。

6) 人工智能;

Python在人工智能大范畴领域内的机器学习、神经网络、深度学习等方面都是主流的编程语言,得到广泛的支持和应用。

这里列出了最常见的6种应用场景。每一种应用场景都对应不同的知识点,要想精通每一个应用场景下的知识点,都需要长年累月的编码实战经验。

有的小伙伴是零基础学习Python,以前也没学习过计算机/编程相关的课程。那么选择Python方向时,可能就不适合选择Python方向里面专业性太强的如人工智能/机器学习/游戏/图像之类的,反而更适合Python后端开发、Python运维、Python爬虫以及自动化测试之类的方向。

在没有学习方向的情况下,先给自己选一个喜欢的方向,然后再有的放矢的学习,看这个方向有哪些企业,这些企业对Python的要求是什么?用笔在笔记本上记录下来。

二、 需要学习的知识点

在上面的第一步,飞哥带小伙伴们了解了Python的职业方向,相信小伙伴能够根据自身情况选择合适自己的Python发展方向。如果小伙伴还在纠结不知道怎么选择Python发展方向,可以找飞哥交流!

学习的最终目的是为了找工作,是为了赚钱。因此,我们就需要学习企业需要的Python方向的知识技能。

小伙伴就要问飞哥了,“我都没去企业实习过,怎么知道企业需要哪些知识技能?”

这个问题问的好。虽然小伙伴没去过企业,但每家互联网企业都会把岗位需求发布在招聘网站上,这里面有详细的岗位技能要求点。

所以,我们的目标就是去招聘网站上搜索我们选择的Python方向的岗位技能要求。一定要多看几家,还要看企业要求的工作经验要和自己匹配。

不管是什么企业,Python基础知识都是必须要掌握的。因为Python基础知识是其它所有知识的基础。

2.1. 先看基础知识点

下面是一份Python基础知识的思维导图,是飞哥花了数小时自制的。小伙伴可以按照思维导图的知识点过一遍,看看自己的掌握情况。

2.2. 再看企业的要求

下面以Python Web开发为例,进行示范,去招聘网站查对应岗位的需求。下图是我在某xx直聘网上以“python web”为关键词进行的搜索,由于还是在校学生,所以只看”应届生”或是“工作经验不限”或是”工作1-3年”的招聘企业。薪资还是不错的,尤其是高级python以上级别的薪资更高。

接下来,看看技术要求,分别对应上图搜索出来的红框中的3个岗位。

2.2.1. 岗位1要求

点评:

看职位描述,是云计算方向的岗位,入职后有专门的师傅带,所以很适合新手去。这里面描述的技术要求有点少,但是没关系,小伙伴只要掌握了飞哥所说的方法,自己去搜索也是可以的。

这里面的技能虽然说的少,但隐藏了很多其他知识点。比如做django web开发肯定会和数据库打交道,所以MySql、Redis、MongoDB这些数据库要掌握。还有网站运行过程中产生的一些关键事件日志需要记录,所以需要掌握一种主流的日志工具。平时写代码,需要与人协作,发布版本,这就涉及到代码版本控制工具,所以需要掌握Git的基本使用。

因此,通过这个职位描述,我们得出一些初步的技能要求:

1) Python基础知识;

2) 掌握Python Web框架Django的使用,最好有Django的项目经验;

3) 熟悉MySql、Redis、MongoDB等主流数据库;

4) 掌握Git代码版本工具;

看任职要求,这是你要认真看的。这里面的技能知识点要认真的记录下来,用来检验自己掌握的知识是否匹配, 以及以后Python学习的知识技能点自查。

给大家说一个超级经验:公司的招聘要求,都是罗列一大堆的要求,相信很多人一看这么多要求,自信心一下子没了,更别说去面试了。其实这些所有要求,你可以理解为像考试一样,100分是满分。你只要达到了70分,完全可以自信的去面试,剩下的30分现场发挥就可以了。相信我,这可以让你受益终身。

看任职要求,还有一个实用经验:

1) 看关键的技术要求,比如上面图中红色框住的。最基础的第一条要求,必须实打实的掌握。

2) 次要的要求,比如上图中的了解xxx、有xxx优先。这些是加分项,你不了解也没关系。面试之前看看公司的相关产品,网上查查相关知识的概念就可以了。

2.2.2. 岗位2要求

点评:

看职位描述,是做后端系统开发的工作。这是一家金融机构,所以业务方面会很专一,职责会很明确,就干一件事。在这样的工作环境下,专注的做3年,你完全可以成为Python后端方面的行业专家,赚大钱就是水到渠成的事。所以遇到这样的公司努力的争取机会吧。

看岗位要求,红色框中的是必须掌握和具备的,黄色框中的是加分项,要求也是比较的明确:

1) Python基础知识是必须的;

2) 熟悉Linux系统的基本操作和常用命令;

3) 算法和数据结构,最常见的必须要掌握;

4) 熟悉一种MVC框架,那就掌握Django或Flask吧;

5) 熟悉MySql、Redis、MongoDB等主流数据库;

6) 掌握Git代码版本工具;

综合福利待遇以及岗位要求,此职位非常适合Python入门者、Python初级开发者。

2.2.3. 岗位3要求

点评:

大公司,有无限的钱途想象力,有很多的技术发展方向,里面的牛人会很多,所以学习空间和成长空间很大。在这样的工作环境下,专注的做3年,成为Python服务端开发方面的专家也是指日可待的。所以遇到这样的公司,努力的争取机会吧。

这样的公司对技术的基础知识要求比较高,特别是算法和数据结构要求比较高。我们列一下它的技术要求:

1) Python基础知识是必须的;

2) 熟悉Linux系统的基本操作和常用命令;

3) 熟悉算法和数据结构,最常见的必须要掌握;

4) 熟悉MySql的使用与优化技术;掌握Redis、MongoDB等NoSQL数据库;

5) 掌握Git代码版本工具;

2.3. 我的知识技能列表

经过上面3个岗位的分析,我们列表出了每个岗位的技术知识点。现在把这3个岗位的技术知识点做一个合并,就是我们今天的Python Web方向的技能要求搜索成果。也是你需要掌握和自查的技术知识点:

1) 【必须】Python基础知识;

2) 【必须】掌握Python Web框架Django的使用,最好有Django的项目经验;

3) 【必须】熟悉MySql的使用和优化;掌握Redis、MongoDB等NoSQL数据库;

4) 【必须】掌握Git代码版本工具;

5) 【必须】算法和数据结构,最常见的必须要掌握;

6) 【加分项】Linux shell脚本开发能力;

7) 【加分项】研究过开源项目,有开源项目维护经验者优先;

好了,以上就是你的Python Web学习知识点列表,小伙伴应该对自己选择的Python方向需要学习和掌握哪些技能知识点,很清楚了吧。

Python学什么,很像开饭店做老板一样,有些人喜欢吃米饭,有些人喜欢吃面。作为饭店老板,你就应该先提前调研是吃米饭的多还是吃面食的多?然后专注的做好一个,就够你赚的了。否则有可能吃力不讨好,白白浪费时间,还把自己累的半死。

三、 项目实战

项目实战,推荐以下顺序进行。

3.1. 先模仿别人

推荐在GitHub上找适合新手练习的小项目。

这里分享一个链接,可以在这里筛选小项目。小伙伴们也可以自己在网上搜索自己感兴趣的小项目。https://github.com/kon9chunkit/GitHub-Chinese-Top-Charts#Python​github.com

下面,飞哥给小伙伴讲讲一些模仿别人项目的一些技巧:

1) 首先,先看懂别人的项目。

挑选新手项目的要点也和上面挑选书籍的要点类似,代码量少,功能简单,最重要的是你对这些项目功能有兴趣。只有有兴趣,你才能坚持下去。

选好项目后,先看项目文档说明,可以先大概罗列一下功能要点,查看项目代码示例,先把代码示例跑一遍。

有了上面的准备后,就可以从功能接口入手,一层层的直到最开始的代码入口处。然后一步步的阅读代码,学习人家的代码技巧、代码文件组织结构等等。

在看的过程中,你肯定会遇到一些以前没有学习过的技巧,这时候正是你吸收经验,扩充知识面的好时机。在项目中学习的知识,你才会记忆深刻。

2) 然后,开始模仿实现别人的项目。

由于初次从0开始模仿,因此代码文件结构,尽量保持一致。

首先,搭好整个项目的空架子

然后,按照对外的公共接口,一个一个的进行编码,边写代码边测试。

直到完成整个接口功能。

在编码的时候,尽量不要看源代码,而是要多看你整理的笔记和流程图;功能的实现代码,没必要和原来的保持一致,完全可以按照自己的知识体系来实现。

当你从0完成了这一过程后,你的代码水平和对Python的认知必将实现质的飞越。

3.2. 再实践运用

和你生活/学习相关的需求,都可以拿来做一个项目。

你是大学生,有充足的时间去学习和实战Python,比如学Python Web开发,那么他的Python实战项目可以选择如下:

1) 二手书商城;

2) 大学生交友;

3) 技术交流类的博客网站;

4) 大学生兼职信息平台;

仔细想想,还是挺多的,在实现这些网站时,从最简单的功能开始,具体有哪些功能,可以参考市面上已经存在的这类型的网站平台。功能一定要一点点的添加,切忌不要贪多。

总之,尽量选自己身边的或是自己熟悉的场景去做。有实战项目,将来找工作绝对是亮点和加分项。

我是飞哥,如有python学习相关的问题,欢迎私信我进行交流。

你可能感兴趣的:(怎么进入python练习程序)