提醒:一下内容只代表个人观点
从18年左右开始,python的广告就被打得满天飞,网上各种吹嘘python这门语言的广告五花八门,当然也有一些人看完这些广告后感觉python非常的高大上,然后就入门学习了python,我就是其中之一,但是在学习python之前我希望读者先弄清楚为什么要学习python
1、如果只是因为看见了某些广告就因此学习python,然后在工作或者其他场景根本使用不到的,我不建议入门,python语法简单,但是也需要个人花时间花精力去学习的,如果只是一时兴起而学习,到最后不仅学不好,反而浪费了时间。
2、如果是为了转行当程序员 我也不太建议首先入门python
3、如果是因为提升个人技术栈或者工作当中需要使用到python,我的建议是欢迎学习python,你拥有其他语言的基础上手python会非常的快,并且社区丰富的第三方库能让你的开发效率快得飞起,你将会体验到python一行代码就能实现其他开发语言几行代码才能实现的功能,但是请遵守PEP8规范,书写优秀的代码,正如刚才所说的一样,python依靠缩进来定义代码块,如果不是优美的代码,当开发完成之后再看自己代码时,就是一直折磨。
提示:这只是笔者的个人学习经历和一些总结
我是计算机相关专业毕业的,我们学校开设的课程当中并没有python这一门开发语言,所以我认为我的自学道路是有一定的借鉴价值的。
我在大二时学校就教授了C++,当时正感叹C++指针的晦涩,我就看到了一个python的广告,当时心血来潮就购买了一本python入门到精通的书籍,之后就是抱着那一本书籍的阅读。当时因为身边的同学没有学习python的,所以跟着书敲的代码报错了也不知道是什么原因,也不知道该请教谁,并且百度出来经常牛头不对马嘴。这应该是初学者入门自学的通病,出错了不清楚什么错误,并且不知道该去请教谁。
现在我是不建议再自学的,如果有条件可以进一个培训班(完成没有编程基础的同学),如果没有条件的可以跟着某站的零基础入门教学跟着学习,这是完全免费的。当然还有第三种 购买一个零基础的付费专栏,有问题可以直接询问博主。 无论你选择了哪一种学习方式,我的建议是都加入一些入门的群,最大的一个好处就是,自己的代码出错了有地方可以问
这里分为两个方向,都是我当初走过的路:
flask、Django还有最近很火的fastAPI都是你重点学习的框架,可以跟着教学视频写一个小的个人博客网站熟悉整个MVC框架模式,我个人只学习了一段时间之后就放弃了后端开发这个方向,具体原因就是 我最开始学习python的时候就没有考虑清楚我之后的路要往哪儿走,就稀里糊涂的学习了python,导致后面需要找工作的时候发现后端python的岗位在我的城市少得可怜,愿意接受大三实习生的更是微乎其微,之后我就果断转行,不干后端了
这个方向的话 只要的要求就是 Requests的使用和scrapy 当然了正则和xpath也是必不可少的
联手项目的话 我的建议是就抓百度(别上并发,小心IP给你封杀了 有代理当我没说),或者抓一下自己学校的校园网,尽量找一些基础的项目给自己树立信心,如没有反爬的get post 请求然后直接进行页面解析的网站,之后建议寻找AJAX加载的网站。同时可以抓一下百度图片,感受一下二进制文件的抓取过程。其中scrapy框架是非常重要的! 以上的项目都建议使用scrapy来编写。
第二个阶段就是寻找一些反爬虫的案例 如 验证码,简单的一些加密参数等
当达到这一步之后 找个工作已经没有问题了 更多的进阶就需要话更多的精力和更多的项目积累(一些JS逆向的问题可以给我留言,大家有空一起讨论)
我的入门书籍是这一本书,但是我不建议再通过阅读书籍来学习,除非你个人非常热爱阅读。
这本书完全是入门的书籍,从最开始安装环境到最后的项目练习,都是非常的详细的。但是这本书有非常多的常用方法没有教授,但是这些知识你可以通过后期在项目中进行补充
对于进阶我只有一本书推荐《流程的Python》,这一本书是真正的一本宝藏书籍
我最初也是迫切的希望自己能很快的掌握这门语言,有编程基础的话会非常的快,因为python语法非常的简单。但是没有基础的话就需要的时间多写代码,一定一定要多写代码,这是能加强你记忆的最好也是最快的方式。
我学习完基础语法之后,感觉只能已经完全学会了python,但是之后的面试和实习阶段却啪啪打脸首先就是各种常用方法不熟悉,其次是 翻着书和一边百度一边写代码。总结出来就是对语言还是不够熟悉,多写代码之后会有明显的改善
最初我的代码都是从头写到为,全是面向过程,没有面向对象,所有的代码逻辑一团糟。我的建议是多看看其他大佬的代码,学习一些优秀的写法。
初学者还容易翻车的一个事情:发现某个库或者某个大佬的一段代码非常吊,然后加入了自己的代码当中,这是一种画蛇添足的做法,如果项目没有这种明确的需求,我们应该最简化,正如python之禅当中所说的简洁胜于复杂。
谨记python之禅和PEP8
如果看完整篇 还是决定零基础入门,然后选择python作为第一语言的话: