Python学习总结详细.docx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Python学习总结详细.docx》由用户(最好的沉淀)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 学习 总结 详细
- 资源描述:
-
1、.Python 总结目录Python 总结1前言2一如何学习 Python2二一些 Python 免费课程推荐4三Python 爬虫需要哪些知识?5四Python 爬虫进阶8五Python 爬虫面试指南11六推荐一些不错的 Python 博客13七Python 如何进阶14八Python 爬虫入门16九Python 开发微信公众号20十Python 面试概念和代码24十一Python 书籍34实用文档.前言知乎:路人甲微博:玩数据的路人甲微信公众号:一个程序员的日常在知乎分享已经有一年多了,之前一直有朋友说我的答复能整理成书籍了,一直偷懒没做,最近有空仔细整理了知乎上的答复和文章另外也添加了一
2、些新的内容,完成了几本小小的电子书,这一本是有关于 Python 方面的。还有另外几本包括我的一些数据分析方面的读书笔记、增长黑客的读书笔记、机器学习十大算法等等内容。将会在我的微信公众号:一个程序员的日常进行更新, 同时也可以关注我的知乎账号:路人甲 及时关注我的最新分享用数据讲故事。一如何学习 Python学习 Python 大致可以分为以下几个阶段:1.刚上手的时候肯定是先过一遍 Python 最根本的知识,比方说:变量、数据结构、语法等,根底过的很快,根本上 12 周时间就能过完了,我当时是在这儿看的根底:Python 简介 | 菜鸟教程2.看完根底后,就是做一些小工程稳固根底,比方说
3、:做一个终端计算器,如果实在找不到什么练手工程,可以在 Codecademy - learn to code,interactively, for free 上面进行练习。3. 如果时间充裕的话可以买一本讲 Python 根底的书籍比方?Python 编程?,阅读这些书籍,在稳固一遍根底的同时你会发现自己诸多没有学习到的边边角角,这一步是对自己根底知识的补充。4.Python 库是 Python 的精华所在,可以说 Python 库组成并且造就了 Python,Python 库是 Python 开发者的利器,所以学习 Python 库就显得尤为重要:ThePython Standard Lib
4、rary ,Python 库很多,如果你没有时间全部看完,不妨学习一遍常用的 Python 库:Python 常用库整理 - 知乎专栏5.Python 库是开发者利器,用这些库你可以做很多很多东西,最常见的网络爬虫、自然语言处理、图像识别等等,这些领域都有很强大的 Python 库做支持, 所以当你学了 Python 库之后,一定要第一时间进行练习。如何寻找自己需要的Python 库呢?推荐我之前的一个答复:如何找到适合需求的 Python 库?6.学习使用了这些 Python 库,此时的你应该是对 Python 十分满意,也十分冲动能遇到这样的语言,就是这个时候不妨开始学习 Python 数
5、据结构与算法,Python 设计模式,这是你进一步学习的一个重要步骤:faif/python-patterns7.当度过艰难的第六步,此时选择你要研究的方向,如果你想做后端开发,不妨研究研究 Django,再往后,就是你自己自由发挥了。二一些 Python 免费课程推荐以下课程都为免费课程1.python 零根底相关适用人群:Python 零根底的初学者、Web 开发程序员、运维人员、有志于从事互联网行业以及各领域应用 Python 的人群疯狂的 Python:快速入门精讲零根底入门学习 Python玩转 Python 语言Python 语言程序设计程序设计入门可汗学院公开课:计算机科学pyt
6、hon 入门到精通Python 交互式编程入门的课程主页Python 交互编程入门第 2 局部的课程主页2.python web 方向Python Django 快速 Web 应用开发入门3.python 爬虫Python 实战:一周学会爬取网页4.python 数据分析方向数据分析实战根底课程三Python 爬虫需要哪些知识?要学会使用 Python 爬取网页信息无外乎以下几点内容:1、要会 Python2、知道网页信息如何呈现3、了解网页信息如何产生4、学会如何提取网页信息第一步 Python 是工具,所以你必须熟练掌握它,要掌握到什么程度呢?如果你只想写一写简单的爬虫,不要炫技不考虑爬虫
7、效率,你只需要掌握:数据类型和变量字符串和编码使用 list 和 tuple条件判断、循环使用 dict 和 set你甚至不需要掌握函数、异步、多线程、多进程,当然如果想要提高自己小爬虫的爬虫效率,提高数据的精确性,那么记住最好的方式是去系统的学习一遍Python,去哪儿学习?Python 教程假设已经熟悉了最根底的 Python 知识,那么进入第二步:知道网页信息如何呈现?你首先要知道所需要抓取的数据是怎样的呈现的,就像是你要学做一幅画, 在开始之前你要知道这幅画是用什么画出来的,铅笔还是水彩笔.可能种类是多样的,但是放到网页信息来说这儿只有两种呈现方式:1、HTML HTML 简介2、JS
8、ON JSON 简介HTML 是用来描述网页的一种语言JSON 是一种轻量级的数据交换格式假设你现在知道了数据是由 HTML 和 JSON 呈现出来的,那么我们紧接着第三步:数据怎么来?数据当然是从效劳器反响给你的,为什么要反响给你?因为你发出了请求。“Hi ,效劳器我要这个资源“正在传输中.“已经收到 HTML 或者 JSON 格式的数据这个请求是什么请求?要搞清楚这一点你需要了解一下的根底知识,更加精确来说你需要去了解 GET 和 POST 是什么,区别是什么。也许你可以看看这个: 浅谈中 Get 与 Post 的区别 - hyddd - 博客园很快乐你使用的是Python,那么你只需要去
9、掌握好快速上手 - Requests 2.10.0文档,requests 可以帮你模拟发出 GET 和 POST 请求,这真是太棒了。饭菜已经备好,两菜一汤美味佳肴,下面就是好好享受了。现在我们已经拿到了数据,我们需要在这些错乱的数据中提取我们需要的数据,这时候我们有两个选择。第一招:万能钥匙Python 正那么表达式指南 ,再大再乱的内容,哪怕是大海捞针,只要告诉我这个针的样子我都能从茫茫大海中捞出来,强大的正那么表达式是你提取数据的不二之选。第二招:笑里藏刀Beautiful Soup 4.2.0 文档,或许我们有更好的选择,我们把原始数据和我们想要的数据的样子扔个这个 Beautiful
10、soup,然后让它帮我们去寻找,这也是一个不错的方案,但是论灵活性,第二招还是略逊于第一招。第三招:双剑合璧最厉害的招式莫过于结合第一招和第二招了,打破天下无敌手。根底知识我都会,可是我还是写不了一个爬虫啊!客观别急,这还没完。以下这些工程,你拿来学习学习练练手。一些教学工程你值得拥有:03. 豆瓣电影 TOP25004. 另一种抓取方式还不够?这儿有很多:如何学习 Python 爬虫入门篇? - 知乎专栏知乎-Python 学习路径及练手工程合集四Python 爬虫进阶爬虫无非分为这几块:分析目标、下载页面、解析页面、存储内容,其中下载页面不提。1. 分析目标所谓分析就是首先你要知道你需要抓
11、取的数据来自哪里?怎么来?普通的网站 一个简单的 POST 或者 GET 请求,不加密不反爬,几行代码就能模拟出来,这是最根本的,进阶就是学会分析一些复杂的目标,比方说:淘宝、新浪微博登陆以及网易云的评论信息等等。2. 解析页面解析页面主要是选择什么库或者那些库结合能使解析速度更快,可能你一开始你通过种种地方了解到了 bs 库,于是你对这个库很痴迷,以后只要写爬虫,总是先写上:import requestsfrom bs4 import BeautifulSoup当然 bs 已经很优秀了,但是并不代表可以用正那么表达式解析的页面还需要使用 bs,也不代表使用 lxml 能解决的还要动用 bs,
12、所以这些解析库的速度是你在进阶时要考虑的问题。3. 存储内容刚开始学爬虫,一般爬取的结果只是打印出来,最后把在终端输出的结果复制粘贴保存就好了;后来发现麻烦会用上 xlwt/openpyxl/csv 的把存储内容写入表格,再后来使用数据库 sqlite/mysql/neo4j 只要调用了库都很简单,当然这是入门。进阶要开始学习如何选择适宜的数据库,或者存储方式。当爬取的内容过千万的时候,如何设计使存储速度更快,比方说当既有人物关系又有人物关系的时候, 一定会用 neo4j 来存储关系,myslq 用来存储用户信息,这样分开是因为如果信息全部存入 neo4j,后期的存储速度经十分的慢。当你每个步
13、骤都能做到很优秀的时候,你应该考虑如何组合这四个步骤,使你的爬虫到达效率最高,也就是所谓的爬虫策略问题,爬虫策略学习不是一朝一夕的事情,建议多看看一些比拟优秀的爬虫的设计方案,比方说 Scrapy。除了爬取策略以外,还有几点也是必备的:1. 代理策略以及多用户策略代理是爬虫进阶阶段必备的技能,与入门阶段直接套用代理不同,在进阶阶段你需要考虑如何设计使用代理策略,什么时候换代理,代理的作用范围等等,多用户的抓取策略考虑的问题根本上与代理策略相同。2. 增量式抓取以及数据刷新比方说你抓取的是一个酒店网站关于酒店价格数据信息的,那么会有这些问题: 酒店的房型的价格是每天变动的,酒店网站每天会新增一批
14、酒店,那么如何进行存储、如何进行数据刷新都是应该考虑的问题。有很多人提到验证码,我个人认为验证码不是爬虫主要去解决的问题,验证码不多的情况考虑下载到本地自己输入验证码,在多的情况下考虑接入打码平台。五Python 爬虫面试指南前段时间快要毕业,而我又不想找自己的老本行 Java 开发了,所以面了很多Python 爬虫岗位。因为我在南京上学,所以我一开始只是在南京投了简历,我一共面试了十几家企业,其中只有一家没有给我发 offer,其他企业都愿意给到10K 的薪资,不要拿南京的薪资水平和北上深的薪资水平比拟,结合面试常问的问题类型说一说我的心得体会。第一点:Python因为面试的是 Python
15、 爬虫岗位,面试官大多数会考察面试者的根底的 Python知识,包括但不限于:Python 的装饰器Python 的异步Python 的一些常用内置库,比方多线程之类的第二点:数据结构与算法数据结构与算法是对面试者尤其是校招生面试的一个很重要的点,当然小公司不会太在意这些,从目前的招聘情况来看对面试者的数据结构与算法的重视程度与企业的好坏成正比,那些从不问你数据结构的你就要留神他们是否把你当码农用的,当然以上情况不绝对,最终解释权归面试官所有。第三点:Python 爬虫最重要也是最关键的一点当然是你的 Python 爬虫相关的知识与经验储藏,这通常也是面试官考察的重点,包括但不限于:你遇到过的
16、反爬虫的策略有哪些?你常用的反反爬虫的方案有哪些?你用过多线程和异步吗?除此之外你还用过什么方法来提高爬虫效率?有没有做过增量式抓取?对 Python 爬虫框架是否有了解?第四点:爬虫相关的工程经验爬虫重在实践,除了理论知识之外,面试官也会十分注重爬虫相关的工程:你做过哪些爬虫工程?如果有 Github 最好你认为你做的最好的爬虫工程是哪个?其中解决了什么难题?有什么特别之处?以上是我在面试过程中,会碰到的一些技术相关的问题的总结,当然面试中不光是技术这一点,但是对于做技术的,过了技术面根本上就是薪资问题了。六推荐一些不错的 Python 博客如果是 Python 根底的话,廖雪峰的博客教程会
17、是一个不错的选择:Python3 教程当然很多刚接触 Python 的同学反响廖大大的教程中局部跳跃性太大,如果觉得跳跃性太大可以结合菜鸟教程一起看:Python3 教程 | 菜鸟教程Python 根底教程 | 菜鸟教程如果你英文稍好的话推荐还是看官方文档:Python 3.6.0 documentation如果不是为了学习 Python 根底的话,推荐几个其他的博客。董老师的博客:小明明 s domicile ?Python-Web 开发实战?的作者,知乎某位工程师的博客:分类?Python? ,具体是哪位大神我不太清楚。依云大大的博客文章值得深读:依云s Blog?从 Python 开始学
18、编程?的作者博客:Python - 标签 - Vamei - 博客园 ,但是此博客的内容也是比拟偏向根底知识的。pythonware 的创造者,Python 图像库PIL的创造者:我很喜欢的一位作者,Pyhub 创始人:Yushengs Tech Blogxlzd 杂谈 文章不是很多,有兴趣可以多看看在知乎的他。twelfthing - 博客园Python | the5fire 的技术博客七Python 如何进阶很多人在学习编程之初都会碰到这种问题:学会了根底的语法了,但是还是做不了工程,不知道如何下手。当初,我学习 C 的时候是这样、Java 的时候是这样、Python 的时候也是这样,其实
19、不管什么语言、什么知识都是这样:理论根底知识 - 能动手做工程是有一道鸿沟的。那么如何突破这条鸿沟?中间的桥梁是什么?其实题主自己已经答复出来了:照抄!所谓照抄前提是有样本。首先找到一些简单易上手的工程,这些工程大多散落在 Python 实践相关的书籍中、Github 上,这些实战工程知乎上都有很多推荐。1.一些比拟好的适合初学者动手的工程:Show-Me-the-Code/show-me-the-codeaosabook/500lines另外知乎上这个问题下的一些推荐的工程还是非常适合新手练习的,可以作为参考:Python 的练手工程有哪些值得推荐?2.大多数的 Python 书里面除了纯理
展开阅读全文