泰斗破坏神186 190boss被攻击后不动怎么解决

基础入门服务+泰斗破坏神开发攻略书籍 - 泰课在线 - 国内专业的Unity在线学习平台|Unity3d培训|Unity教程|Unity教程 Unreal 虚幻 AR|移动开发|美术CG|UI平面设计|前端开发 - Powered By EduSoho文件类型:视频
下载数:30
相关专题:
扫一扫关注公众号
资源随心搜&数据随身带
关注后不再显示此窗口
张荣-泰斗破坏神161-165.mp4
您可能感兴趣的资源
&&&本资源为百度网盘资源搜索结果, 为方便用户您可以直接在本站下载文件,下载地址为地址,可高速下载,当然您也可以把文件保存到您的百度网盘中。本站仅提供 冰雪奇缘电影完整版 的搜索结果,文件的安全性和完整性需要您自行判断。非常感谢您对 搜盘盘的支持。搜盘盘-专业提供 百度网盘搜索服务
本站资源来自百度网盘 搜盘盘 (C)
All Rights Reserved 闽ICP备号-1 联系我们: &nbsp&nbsp关于泰斗破坏神 同步问题【unity3d吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:73,848贴子:
关于泰斗破坏神 同步问题收藏
我的怪物位置更新很慢
要等几秒后才显示出来 就想网络延迟一样
我怀疑是给服务器发送的请求太多 服务器处理不过来
总之搞不懂
有做过的人吗
虚心求教啊
泰斗是如何处理同步的能不能发两个片段
就是1f/30秒 检查位置是否发生改变
如果位置发生改变 就把位置信息发送其余客户端
果然是服务器处理不过来
优化了下代码
就同步好了
可以泰斗社区问答那问。
登录百度帐号推荐应用&p&啊,想到了我当初的困境。&/p&&p&知乎上的主流意见是Python非常适合入门,确实,语法简单的很,然而学校来发现根本就不是那么回事啊!&/p&&p&大三的时候,我在网易云课堂学完了一门Python入门课程。&/p&&p&然而,学完之后就学完了。&/p&&p&喵喵喵?不是说学会Python可以干很多事情吗?不是可以做后端服务器、做前端网页、做数据挖掘、做深度学习吗?&/p&&p&是的,对于一个非计算机专业的小白来说,学会基础语法之后该做什么就成为一大难题了。&/p&&p&后来花了很长时间做突破,后来整理一下,发现其实有很多更好的途径去学习,今天做一下盘点吧。&/p&&h2&方式一:实习&/h2&&p&这个是最好的方法,去实习、接触真实的项目,然后按照实战需求去搭建和完善自己的知识框架。我当初其实有考虑过,但是刚刚学完初始语法的我确实连实习的实力都没有,遂放弃。&/p&&p&如果题主的实力足够,那么最好的方法就是去实习了。这个也不用多说。&/p&&h2&方式二:刷题&/h2&&p&如果能找到足够多的优质习题,也是一个不错的学习方法。在练习的过程中,你的熟练度和知识体系会被不断刷新,向着实战高手的方向前进。&/p&&p&最好的是做完习题之后与别人的解法作对照,经常会发出“代码还能这么写”的惊叹,水平真的会飞速上升。&/p&&p&我会在最后把我认为不错的几个联系项目推荐给大家。&/p&&h2&方式三:自力更生&/h2&&p&没办法实习、也找不到联系资源,怎麼办?&/p&&p&其实也简单,自己给自己定个项目,开干就是了。我就是这么干的,路子很野,自己搞了大概半年。好处在于,敲键盘分外熟练了,虽然风格很粗糙,但是起码会做事了。&/p&&p&后来我才意识到可以刷题,于是就刷题去了。这段时间的经历也导致我在刷完题对照其他解法时候,发出“WTF”的赞叹。&/p&&p&如果不是万不得已,就别选这条路,真的会把你的路子带到非常狂野的方向去。如果非做不可,记得找个靠谱的人一起合作,起码还能给你纠正一下。&/p&&h2&练习项目推荐:&/h2&&p&1.&a href=&///?target=https%3A///Yixiaohan/show-me-the-code& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Yixiaohan/show-me-the-code&i class=&icon-external&&&/i&&/a&&/p&&p&前面好几个答主已经推荐过这个,足见其含金量。&/p&&p&这个项目里的每一道题都相当不错,最好的是还可以参考别人的答案,其中不乏一些令人赞叹的解法。&/p&&p&2.一线互联网公司面试题&/p&&p&这个网上有很多资源,我随便找了一个:&a href=&///?target=https%3A///bat-interview/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&BAT 面试指南&i class=&icon-external&&&/i&&/a&&/p&&p&刷BAT面试题的好处在于每一题都有足够的含金量,而且指向性非常明确——给未来的工作做准备。&/p&&p&3.找本书跟着练&/p&&p&这个是大多数人的学习方法。我个人认为Learn Python The Hard Way里的习题不错。&/p&&p&4.做自己想做的项目。&/p&&p&大家学Python都是有目的的,想要做点事情,那么就去做事情好了。&/p&&p&虽然这样路子野,但其中会有更多的乐趣与收获,毕竟调整代码风格也不算太难。&/p&
啊,想到了我当初的困境。知乎上的主流意见是Python非常适合入门,确实,语法简单的很,然而学校来发现根本就不是那么回事啊!大三的时候,我在网易云课堂学完了一门Python入门课程。然而,学完之后就学完了。喵喵喵?不是说学会Python可以干很多事情吗?不…
&p&我就是爬虫起家,一年时间机缘巧合进了BAT。&/p&&p&又是一帮光点关注感谢不点赞的。&/p&&p&感恩大家,上班时间短回头补充哈,勿怪。&/p&&ul&&li&当你能看懂代码,简单的伪造请求,爬点图片视频搞下实习没问题。&/li&&li&当你能单挑分布式做亿以上采集量,各种伪造与绕ip,基本爬虫工作都要你。&/li&&li&当你能搞定滑动验证码和多数字符验证码,基本可以去敲大公司的门了。&/li&&li&当你能搞定第三代验证码那。。。。。。&/li&&/ul&&p&爬虫是入门超级简单,深入才难。有兴趣请点我头像,有博客git专栏,可以帮你确定技能树方向。&/p&&p&&br&&/p&&p&补充技能书&/p&&ul&&li&现在上班时间,回头详细
&a href=&/p/& class=&internal&&数据采集技术指南 第一篇 技术栈总览-附总图和演讲ppt - 知乎专栏&/a&&/li&&li&还有以前写的反反爬虫仓库
&a href=&///?target=https%3A///luyishisi/Anti-Anti-Spider& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&luyishisi/Anti-Anti-Spider&i class=&icon-external&&&/i&&/a&&/li&&li&专栏:&a href=&/c_& class=&internal&&Urlteam - 知乎专栏&/a&&/li&&li&博客:&a href=&///?target=https%3A//www.urlteam.org/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&urlteam.org/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/li&&li&github: &a href=&///?target=https%3A///luyishisi& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&luyishisi (luyishisi)&i class=&icon-external&&&/i&&/a&&/li&&/ul&&p&这涨的有点快啊,还在上班,实在没时间写。回头补哈,求不怪。&/p&&p&本文不是来引战的,评论区的朋友息怒哈,只是想表达:&/p&&p&爬虫虽然有人觉得入门太简单因此很low,但是我觉得爬虫带来的项目成就感很舒服,让新人喜欢上编程逐步成长,并且爬虫做到深入一样是稀缺资源,不断成长,就有适合自己的空间。&/p&&p&一些值得看入门者看的相关回答与:&/p&&ol&&li&&a href=&/question//answer/& class=&internal&&想知道大家都用python写过哪些有趣的脚本? - 知乎。&/a& #&/li&&li&&a href=&/question//answer/& class=&internal&&你写过的自己觉着最牛X的黑程序? - 知乎。&/a& #&/li&&li&&a href=&/question//answer/& class=&internal&&学习Python很吃力,我是不是可以放弃编程了? - 知乎&/a& #&/li&&li&&a href=&/question//answer/& class=&internal&&Python爬虫传送post请求要携带哪些参数? - 知乎。&/a& #&/li&&li&&a href=&/question//answer/& class=&internal&&不想拿学位证的计算机在校生? - 知乎&/a&。#&/li&&li&&a href=&/question//answer/& class=&internal&&你在实验室经历过最危险的事情是什么? - 知乎&/a&。 #&/li&&li&&a href=&/question/& class=&internal&&如果你能预知未来,你会不会更加努力? - 知乎&/a&。 #&/li&&/ol&&p&关于一些私信解答,值得分享给小虫子们看看&/p&&img src=&/v2-27eca0d2a7e2e569bd2904_b.png& data-rawwidth=&1017& data-rawheight=&458& class=&origin_image zh-lightbox-thumb& width=&1017& data-original=&/v2-27eca0d2a7e2e569bd2904_r.png&&
我就是爬虫起家,一年时间机缘巧合进了BAT。又是一帮光点关注感谢不点赞的。感恩大家,上班时间短回头补充哈,勿怪。当你能看懂代码,简单的伪造请求,爬点图片视频搞下实习没问题。当你能单挑分布式做亿以上采集量,各种伪造与绕ip,基本爬虫工作都要你。…
IT有风险,入行需谨慎!&br&只会python语言基本上是找不到工作的, &a data-hash=&8fdc67b61ebffe84b37a& href=&///people/8fdc67b61ebffe84b37a& class=&member_mention& data-hovercard=&p$b$8fdc67b61ebffe84b37a&&@BigQuant&/a& 已经说的比较多了,找工作时python是加分项。&br&使用python的岗位有别与一般的IT岗位,更多是关注怎么解决问题,而不是如何编码。&br&&br&如果要做前端,html + css + js;&br&做服务器,java,c++,.net;&br&安卓开发:java,kotlin(google新义子)&br&做界面,WPF,java,Qt;&br&不知道要做什么,先学学看,python&br&&br&爬虫 + python ----& 岗位很多&br&数学 + python ----& 机器学习炙手可热&br&django + python ----& web开发也有不少pyqt + python ----& 做界面也挺好看&br&&br&python是块砖,哪里需要往哪里搬。
IT有风险,入行需谨慎! 只会python语言基本上是找不到工作的,
已经说的比较多了,找工作时python是加分项。 使用python的岗位有别与一般的IT岗位,更多是关注怎么解决问题,而不是如何编码。 如果要做前端,html + css + js; 做服务器,java,…
题主用了三个形容词,“短时间,高效,踏实”,事实上想学好一门语言或者是其他任何的技能,都不可能短时间内学成,除非可以像电视剧那样把手放在背后传功,或者拿到屠龙刀里的九阴真经,让你一下子变成超级赛亚人3,毁灭地球。&br&&img src=&/269b42bb294ea6c41d9f5978_b.png& data-rawwidth=&306& data-rawheight=&236& class=&content_image& width=&306&&其实,我比较喜欢跟题主探讨一下怎么&b& “开心,高效,踏实”&/b& 地把Python学好,在我看来,只有一样东西可以帮你做到,那就是,&b&兴趣-兴趣-兴趣&/b&!重要的事情说三遍!在Python这个魔法世界里,找到你自己感兴趣的点进行切入,并时刻找到兴趣点进行自我驱动是最好的学习方式!&br&&br&以下,用我自己亲身经历的方式,说说我的Python入门学习之路(多图预警!)&br&&img src=&/7c66f63f61f9007ef58c_b.png& data-rawwidth=&755& data-rawheight=&646& class=&origin_image zh-lightbox-thumb& width=&755& data-original=&/7c66f63f61f9007ef58c_r.png&&&img src=&/4728ee24fed71cdcde64_b.png& data-rawwidth=&698& data-rawheight=&704& class=&origin_image zh-lightbox-thumb& width=&698& data-original=&/4728ee24fed71cdcde64_r.png&&&img src=&/cbd0bee848_b.png& data-rawwidth=&747& data-rawheight=&720& class=&origin_image zh-lightbox-thumb& width=&747& data-original=&/cbd0bee848_r.png&&&img src=&/a2fbb07fa10fd179576a_b.png& data-rawwidth=&730& data-rawheight=&719& class=&origin_image zh-lightbox-thumb& width=&730& data-original=&/a2fbb07fa10fd179576a_r.png&&&img src=&/ffa1acbda7f1ed6_b.png& data-rawwidth=&762& data-rawheight=&704& class=&origin_image zh-lightbox-thumb& width=&762& data-original=&/ffa1acbda7f1ed6_r.png&&&br&看过的Python的书不多,也没上过coursera,但这里呕血推荐两本书,一本作为数据分析的切入,一本作为Python的语法学习。&img src=&/dafdd731bbbe_b.png& data-rawwidth=&214& data-rawheight=&307& class=&content_image& width=&214&&&br&&img src=&/7bcf96b21d345bb91f74b_b.png& data-rawwidth=&203& data-rawheight=&273& class=&content_image& width=&203&&&br&show一下我的爬虫成果,这是我用爬下的电影数据做的网页,柱状图显示的是年中国电影年度票房冠军的票房,下面的表格显示的是近两万部中国电影的数据。&br&&br&&img src=&/bcb83975c2dbb73dbacab89_b.png& data-rawwidth=&1399& data-rawheight=&947& class=&origin_image zh-lightbox-thumb& width=&1399& data-original=&/bcb83975c2dbb73dbacab89_r.png&&&br&最后,如果觉得写的还OK,请点赞哦 &b& \( ^▽^ )/ &/b&
题主用了三个形容词,“短时间,高效,踏实”,事实上想学好一门语言或者是其他任何的技能,都不可能短时间内学成,除非可以像电视剧那样把手放在背后传功,或者拿到屠龙刀里的九阴真经,让你一下子变成超级赛亚人3,毁灭地球。 其实,我比较喜欢跟题主探讨…
&p&Python 其实挺简单的,也挺强大的。&/p&&p&我用 Python 做科学计算,自学一年,也记了一年的笔记。&/p&&p&笔记链接:&/p&&ul&&li&Github:&a href=&///?target=https%3A///lijin-THU/notes-python& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&lijin-THU/notes-python&i class=&icon-external&&&/i&&/a&&/li&&li&Nbviewer:&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/index.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Jupyter Notebook Viewer&i class=&icon-external&&&/i&&/a&&/li&&/ul&&p&笔记目录:&/p&&ul&&li&&u&01. Python 工具&/u&&/li&&ul&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/01-python-tools/01.01-python-overview.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&01.01 Python 简介&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/01-python-tools/01.02-ipython-interpreter.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&01.02 Ipython 解释器&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/01-python-tools/01.03-ipython-notebook.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&01.03 Ipython notebook&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/01-python-tools/01.04-use-anaconda.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&01.04 使用 Anaconda&i class=&icon-external&&&/i&&/a&&/u&&/li&&/ul&&li&&u&02. Python 基础&/u&&/li&&ul&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/02-python-essentials/02.01-a-tour-of-python.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&02.01 Python 入门演示&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/02-python-essentials/02.02-python-data-types.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&02.02 Python 数据类型&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/02-python-essentials/02.03-numbers.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&02.03 数字&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/02-python-essentials/02.04-strings.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&02.04 字符串&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/02-python-essentials/02.05-indexing-and-slicing.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&02.05 索引和分片&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/02-python-essentials/02.06-lists.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&02.06 列表&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/02-python-essentials/02.07-mutable-and-immutable-data-types.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&02.07 可变和不可变类型&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/02-python-essentials/02.08-tuples.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&02.08 元组&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/02-python-essentials/02.09-speed-comparison-between-list-%26-tuple.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&02.09 列表与元组的速度比较&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/02-python-essentials/02.10-dictionaries.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&02.10 字典&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/02-python-essentials/02.11-sets.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&02.11 集合&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/02-python-essentials/02.12-frozen-sets.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&02.12 不可变集合&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/02-python-essentials/02.13-how-python-assignment-works.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&02.13 Python 赋值机制&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/02-python-essentials/02.14-if-statement.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&02.14 判断语句&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/02-python-essentials/02.15-loops.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&02.15 循环&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/02-python-essentials/02.16-list-comprehension.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&02.16 列表推导式&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/02-python-essentials/02.17-functions.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&02.17 函数&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/02-python-essentials/02.18-modules-and-packages.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&02.18 模块和包&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/02-python-essentials/02.19-exceptions.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&02.19 异常&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/02-python-essentials/02.20-warnings.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&02.20 警告&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/02-python-essentials/02.21-file-IO.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&02.21 文件读写&i class=&icon-external&&&/i&&/a&&/u&&/li&&/ul&&li&&u&03. Numpy&/u&&/li&&ul&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.01-numpy-overview.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.01 Numpy 简介&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.02-matplotlib-basics.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.02 Matplotlib 基础&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.03-numpy-arrays.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.03 Numpy 数组及其索引&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.04-array-types.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.04 数组类型&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.05-array-calculation-method.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.05 数组方法&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.06-sorting-numpy-arrays.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.06 数组排序&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.07-array-shapes.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.07 数组形状&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.08-diagonals.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.08 对角线&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.09-data-to-%26-from-string.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.09 数组与字符串的转换&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.10-array-attribute-%26-method-overview-.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.10 数组属性方法总结&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.11-array-creation-functions.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.11 生成数组的函数&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.12-matrix-object.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.12 矩阵&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.13-general-functions.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.13 一般函数&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.14-vectorizing-functions.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.14 向量化函数&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.15-binary-operators.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.15 二元运算&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.16-universal-functions.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.16 ufunc 对象&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.17-choose.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.17 choose 函数实现条件筛选&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.18-array-broadcasting.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.18 数组广播机制&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.19-reading-and-writing-arrays.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.19 数组读写&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.20-structured-arrays.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.20 结构化数组&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.21-record-arrays.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.21 记录数组&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.22-memory-maps.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.22 内存映射&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/03-numpy/03.23-from-matlab-to-numpy.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&03.23 从 Matlab 到 Numpy&i class=&icon-external&&&/i&&/a&&/u&&/li&&/ul&&li&&u&04. Scipy&/u&&/li&&ul&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/04-scipy/04.01-scienticfic-python-overview.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&04.01 SCIentific PYthon 简介&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/04-scipy/04.02-interpolation-with-scipy.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&04.02 插值&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/04-scipy/04.03-statistics-with-scipy.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&04.03 概率统计方法&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/04-scipy/04.04-curve-fitting.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&04.04 曲线拟合&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/04-scipy/04.05-minimization-in-python.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&04.05 最小化函数&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/04-scipy/04.06-integration-in-python.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&04.06 积分&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/04-scipy/04.07-ODEs.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&04.07 解微分方程&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/04-scipy/04.08-sparse-matrix.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&04.08 稀疏矩阵&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/04-scipy/04.09-linear-algbra.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&04.09 线性代数&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/04-scipy/04.10-sparse-linear-algebra.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&04.10 稀疏矩阵的线性代数&i class=&icon-external&&&/i&&/a&&/u&&/li&&/ul&&li&&u&05. Python 进阶&/u&&/li&&ul&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/05-advanced-python/05.01-overview-of-the-sys-module.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&05.01 sys 模块简介&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/05-advanced-python/05.02-interacting-with-the-OS---os.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&05.02 与操作系统进行交互:os 模块&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/05-advanced-python/05.03-comma-separated-values.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&05.03 CSV 文件和 csv 模块&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/05-advanced-python/05.04-regular-expression.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&05.04 正则表达式和 re 模块&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/05-advanced-python/05.05-datetime.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&05.05 datetime 模块&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/05-advanced-python/05.06-sql-databases.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&05.06 SQL 数据库&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/05-advanced-python/05.07-object-relational-mappers.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&05.07 对象关系映射&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/05-advanced-python/05.08-functions.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&05.08 函数进阶:参数传递,高阶函数,lambda 匿名函数,global 变量,递归&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/05-advanced-python/05.09-iterators.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&05.09 迭代器&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/05-advanced-python/05.10-generators.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&05.10 生成器&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/05-advanced-python/05.11-context-managers-and-the-with-statement.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&05.11 with 语句和上下文管理器&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/05-advanced-python/05.12-decorators.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&05.12 修饰符&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/05-advanced-python/05.13-decorator-usage.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&05.13 修饰符的使用&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/05-advanced-python/05.14-the-operator-functools-itertools-toolz-fn-funcy-module.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&05.14 operator, functools, itertools, toolz, fn, funcy 模块&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/05-advanced-python/05.15-scope.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&05.15 作用域&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/05-advanced-python/05.16-dynamic-code-execution.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&05.16 动态编译&i class=&icon-external&&&/i&&/a&&/u&&/li&&/ul&&li&&u&06. Matplotlib&/u&&/li&&ul&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/06-matplotlib/06.01-pyplot-tutorial.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&06.01 Pyplot 教程&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/06-matplotlib/06.02-customizing-plots-with-style-sheets.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&06.02 使用 style 来配置 pyplot 风格&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/06-matplotlib/06.03-working-with-text---basic.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&06.03 处理文本(基础)&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/06-matplotlib/06.04-working-with-text---math-expression.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&06.04 处理文本(数学表达式)&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/06-matplotlib/06.05-image-tutorial.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&06.05 图像基础&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/06-matplotlib/06.06-annotating-axes.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&06.06 注释&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/06-matplotlib/06.07-legend.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&06.07 标签&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/06-matplotlib/06.08-figures%2C-subplots%2C-axes-and-ticks.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&06.08 figures, subplots, axes 和 ticks 对象&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/06-matplotlib/06.09-do-not-trust-the-defaults.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&06.09 不要迷信默认设置&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/06-matplotlib/06.10-different-plots.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&06.10 各种绘图实例&i class=&icon-external&&&/i&&/a&&/u&&/li&&/ul&&li&&u&07. 使用其他语言进行扩展&/u&&/li&&ul&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/07-interfacing-with-other-languages/07.01-introduction.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&07.01 简介&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/07-interfacing-with-other-languages/07.02-python-extension-modules.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&07.02 Python 扩展模块&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/07-interfacing-with-other-languages/07.03-cython-part-1.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&07.03 Cython:Cython 基础,将源代码转换成扩展模块&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/07-interfacing-with-other-languages/07.04-cython-part-2.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&07.04 Cython:Cython 语法,调用其他C库&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/07-interfacing-with-other-languages/07.05-cython-part-3.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&07.05 Cython:class 和 cdef class,使用 C++&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/07-interfacing-with-other-languages/07.06-cython-part-4.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&07.06 Cython:Typed memoryviews&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/07-interfacing-with-other-languages/07.07-profiling-with-annotations.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&07.07 生成编译注释&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/07-interfacing-with-other-languages/07.08-ctypes.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&07.08 ctypes&i class=&icon-external&&&/i&&/a&&/u&&/li&&/ul&&li&&u&08. 面向对象编程&/u&&/li&&ul&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/08-object-oriented-programming/08.01-oop-introduction.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&08.01 简介&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/08-object-oriented-programming/08.02-using-oop-model-a-forest-fire.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&08.02 使用 OOP 对森林火灾建模&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/08-object-oriented-programming/08.03-what-is-a-object.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&08.03 什么是对象?&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/08-object-oriented-programming/08.04-writing-classes.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&08.04 定义 class&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/08-object-oriented-programming/08.05-special-method.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&08.05 特殊方法&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/08-object-oriented-programming/08.06-properties.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&08.06 属性&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/08-object-oriented-programming/08.07-forest-fire-simulation.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&08.07 森林火灾模拟&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/08-object-oriented-programming/08.08-inheritance.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&08.08 继承&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/08-object-oriented-programming/08.09-super.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&08.09 super() 函数&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/08-object-oriented-programming/08.10-refactoring-the-forest-fire-simutation.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&08.10 重定义森林火灾模拟&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/08-object-oriented-programming/08.11-interfaces.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&08.11 接口&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/08-object-oriented-programming/08.12-public-private-special-in-python.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&08.12 共有,私有和特殊方法和属性&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/08-object-oriented-programming/08.13-multiple-inheritance.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&08.13 多重继承&i class=&icon-external&&&/i&&/a&&/u&&/li&&/ul&&li&&u&09. Theano 基础&/u&&/li&&ul&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/09-theano/09.01-introduction-and-installation.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&09.01 Theano 简介及其安装&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/09-theano/09.02-theano-basics.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&09.02 Theano 基础&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/09-theano/09.03-gpu-on-windows.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&09.03 Theano 在 Windows 上的配置&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/09-theano/09.04-graph-structures.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&09.04 Theano 符号图结构&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/09-theano/09.05-configuration-settings-and-compiling-modes.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&09.05 Theano 配置和编译模式&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/09-theano/09.06-conditions-in-theano.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&09.06 Theano 条件语句&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/09-theano/09.07-loop-with-scan.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&09.07 Theano 循环:scan(详解)&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/09-theano/09.08-linear-regression.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&09.08 Theano 实例:线性回归&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/09-theano/09.09-logistic-regression-.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&09.09 Theano 实例:Logistic 回归&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/09-theano/09.10-softmax-on-mnist.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&09.10 Theano 实例:Softmax 回归&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/09-theano/09.11-net-on-mnist.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&09.11 Theano 实例:人工神经网络&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/09-theano/09.12-random-streams.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&09.12 Theano 随机数流变量&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/09-theano/09.13-modern-net-on-mnist.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&09.13 Theano 实例:更复杂的网络&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/09-theano/09.14-convolutional-net-on-mnist.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&09.14 Theano 实例:卷积神经网络&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/09-theano/09.15-tensor-basics.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&09.15 Theano tensor 模块:基础&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/09-theano/09.16-tensor-indexing.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&09.16 Theano tensor 模块:索引&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/09-theano/09.17-tensor-operator-and-elementwise-operations.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&09.17 Theano tensor 模块:操作符和逐元素操作&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/09-theano/09.18-tensor-nnet-.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&09.18 Theano tensor 模块:nnet 子模块&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/09-theano/09.19-tensor-conv.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&09.19 Theano tensor 模块:conv 子模块&i class=&icon-external&&&/i&&/a&&/u&&/li&&/ul&&li&&u&10. 有趣的第三方模块&/u&&/li&&ul&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/10-something-interesting/10.01-maps-using-basemap.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&10.01 使用 basemap 画地图&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/10-something-interesting/10.02-maps-using-cartopy.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&10.02 使用 cartopy 画地图&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/10-something-interesting/10.03-nba-data.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&10.03 探索 NBA 数据&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/10-something-interesting/10.04-louis-cha%27s-kungfu-world.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&10.04 金庸的武侠世界&i class=&icon-external&&&/i&&/a&&/u&&/li&&/ul&&li&&u&11. 有用的工具&/u&&/li&&ul&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/11-useful-tools/11.01-pprint.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&11.01 pprint 模块:打印 Python 对象&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/11-useful-tools/11.02-pickle-and-cPickle.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&11.02 pickle, cPickle 模块:序列化 Python 对象&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/11-useful-tools/11.03-json.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&11.03 json 模块:处理 JSON 数据&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/11-useful-tools/11.04-glob.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&11.04 glob 模块:文件模式匹配&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/11-useful-tools/11.05-shutil.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&11.05 shutil 模块:高级文件操作&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/11-useful-tools/11.06-gzip%2C-zipfile%2C-tarfile.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&11.06 gzip, zipfile, tarfile 模块:处理压缩文件&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/11-useful-tools/11.07-logging.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&11.07 logging 模块:记录日志&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/11-useful-tools/11.08-string.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&11.08 string 模块:字符串处理&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/11-useful-tools/11.09-collections.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&11.09 collections 模块:更多数据结构&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/11-useful-tools/11.10-requests.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&11.10 requests 模块:HTTP for Human&i class=&icon-external&&&/i&&/a&&/u&&/li&&/ul&&li&&u&12. Pandas&/u&&/li&&ul&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/12-pandas/12.01-ten-minutes-to-pandas.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&12.01 十分钟上手 Pandas&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/12-pandas/12.02-series-in-pandas.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&12.02 一维数据结构:Series&i class=&icon-external&&&/i&&/a&&/u&&/li&&li&&u&&a href=&///?target=http%3A//nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/12-pandas/12.03-dataframe-in-pandas.ipynb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&12.03 二维数据结构:DataFrame&i class=&icon-external&&&/i&&/a&&/u&&/li&&/ul&&/ul&
Python 其实挺简单的,也挺强大的。我用 Python 做科学计算,自学一年,也记了一年的笔记。笔记链接:Github:Nbviewer:笔记目录:01. Python 工具
“入门”是良好的动机,但是可能作用缓慢。如果你手里或者脑子里有一个项目,那么实践起来你会被目标驱动,而不会像学习模块一样慢慢学习。&br&&br&另外如果说知识体系里的每一个知识点是图里的点,依赖关系是边的话,那么这个图一定不是一个有向无环图。因为学习A的经验可以帮助你学习B。因此,你不需要学习怎么样“入门”,因为这样的“入门”点根本不存在!你需要学习的是怎么样做一个比较大的东西,在这个过程中,你会很快地学会需要学会的东西的。当然,你可以争论说需要先懂python,不然怎么学会python做爬虫呢?但是事实上,你完全可以在做这个爬虫的过程中学习python :D&br&&br&看到前面很多答案都讲的“术”——用什么软件怎么爬,那我就讲讲“道”和“术”吧——爬虫怎么工作以及怎么在python实现。&br&&br&先长话短说summarize一下:&br&你需要学习&br&&ol&&li&基本的爬虫工作原理&/li&&li&基本的http抓取工具,scrapy&/li&&li&Bloom Filter: &a href=&///?target=http%3A//billmill.org/bloomfilter-tutorial/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Bloom Filters by Example&i class=&icon-external&&&/i&&/a&&/li&&li&如果需要大规模网页抓取,你需要学习分布式爬虫的概念。其实没那么玄乎,你只要学会怎样维护一个所有集群机器能够有效分享的分布式队列就好。最简单的实现是python-rq: &a href=&///?target=https%3A///nvie/rq& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/nvie/rq&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/li&&li&rq和Scrapy的结合:&a href=&///?target=https%3A///darkrho/scrapy-redis& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&darkrho/scrapy-redis · GitHub&i class=&icon-external&&&/i&&/a&&/li&&li&后续处理,网页析取(&a href=&///?target=https%3A///grangier/python-goose& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&grangier/python-goose · GitHub&i class=&icon-external&&&/i&&/a&),存储(Mongodb)&/li&&/ol&&br&以下是短话长说:&br&&br&说说当初写的一个集群爬下整个豆瓣的经验吧。&br&&br&1)首先你要明白爬虫怎样工作。&br&想象你是一只蜘蛛,现在你被放到了互联“网”上。那么,你需要把所有的网页都看一遍。怎么办呢?没问题呀,你就随便从某个地方开始,比如说人民日报的首页,这个叫initial pages,用$表示吧。&br&&br&在人民日报的首页,你看到那个页面引向的各种链接。于是你很开心地从爬到了“国内新闻”那个页面。太好了,这样你就已经爬完了俩页面(首页和国内新闻)!暂且不用管爬下来的页面怎么处理的,你就想象你把这个页面完完整整抄成了个html放到了你身上。&br&&br&突然你发现, 在国内新闻这个页面上,有一个链接链回“首页”。作为一只聪明的蜘蛛,你肯定知道你不用爬回去的吧,因为你已经看过了啊。所以,你需要用你的脑子,存下你已经看过的页面地址。这样,每次看到一个可能需要爬的新链接,你就先查查你脑子里是不是已经去过这个页面地址。如果去过,那就别去了。&br&&br&好的,理论上如果所有的页面可以从initial page达到的话,那么可以证明你一定可以爬完所有的网页。&br&&br&那么在python里怎么实现呢?&br&很简单&br&&div class=&highlight&&&pre&&code class=&language-python&&&span class=&kn&&import&/span& &span class=&nn&&Queue&/span&
&span class=&n&&initial_page&/span& &span class=&o&&=&/span& &span class=&s&&&&&/span&
&span class=&n&&url_queue&/span& &span class=&o&&=&/span& &span class=&n&&Queue&/span&&span class=&o&&.&/span&&span class=&n&&Queue&/span&&span class=&p&&()&/span&
&span class=&n&&seen&/span& &span class=&o&&=&/span& &span class=&nb&&set&/span&&span class=&p&&()&/span&
&span class=&n&&seen&/span&&span class=&o&&.&/span&&span class=&n&&insert&/span&&span class=&p&&(&/span&&span class=&n&&initial_page&/span&&span class=&p&&)&/span&
&span class=&n&&url_queue&/span&&span class=&o&&.&/span&&span class=&n&&put&/span&&span class=&p&&(&/span&&span class=&n&&initial_page&/span&&span class=&p&&)&/span&
&span class=&k&&while&/span&&span class=&p&&(&/span&&span class=&bp&&True&/span&&span class=&p&&):&/span& &span class=&c&&#一直进行直到海枯石烂&/span&
&span class=&k&&if&/span& &span class=&n&&url_queue&/span&&span class=&o&&.&/span&&span class=&n&&size&/span&&span class=&p&&()&/span&&span class=&o&&&&/span&&span class=&mi&&0&/span&&span class=&p&&:&/span&
&span class=&n&&current_url&/span& &span class=&o&&=&/span& &span class=&n&&url_queue&/span&&span class=&o&&.&/span&&span class=&n&&get&/span&&span class=&p&&()&/span&
&span class=&c&&#拿出队例中第一个的url&/span&
&span class=&n&&store&/span&&span class=&p&&(&/span&&span class=&n&&current_url&/span&&span class=&p&&)&/span&
&span class=&c&&#把这个url代表的网页存储好&/span&
&span class=&k&&for&/span& &span class=&n&&next_url&/span& &span class=&ow&&in&/span& &span class=&n&&extract_urls&/span&&span class=&p&&(&/span&&span class=&n&&current_url&/span&&span class=&p&&):&/span& &span class=&c&&#提取把这个url里链向的url&/span&
&span class=&k&&if&/span& &span class=&n&&next_url&/span& &span class=&ow&&not&/span& &span class=&ow&&in&/span& &span class=&n&&seen&/span&&span class=&p&&:&/span&
&span class=&n&&seen&/span&&span class=&o&&.&/span&&span class=&n&&put&/span&&span class=&p&&(&/span&&span class=&n&&next_url&/span&&span class=&p&&)&/span&
&span class=&n&&url_queue&/span&&span class=&o&&.&/span&&span class=&n&&put&/span&&span class=&p&&(&/span&&span class=&n&&next_url&/span&&span class=&p&&)&/span&
&span class=&k&&else&/span&&span class=&p&&:&/span&
&span class=&k&&break&/span&
&/code&&/pre&&/div&写得已经很伪代码了。&br&&br&所有的爬虫的backbone都在这里,下面分析一下为什么爬虫事实上是个非常复杂的东西——搜索引擎公司通常有一整个团队来维护和开发。&br&&br&2)效率&br&如果你直接加工一下上面的代码直接运行的话,你需要一整年才能爬下整个豆瓣的内容。更别说Google这样的搜索引擎需要爬下全网的内容了。&br&&br&问题出在哪呢?需要爬的网页实在太多太多了,而上面的代码太慢太慢了。设想全网有N个网站,那么分析一下判重的复杂度就是N*log(N),因为所有网页要遍历一次,而每次判重用set的话需要log(N)的复杂度。OK,OK,我知道python的set实现是hash——不过这样还是太慢了,至少内存使用效率不高。&br&&br&通常的判重做法是怎样呢?&b&Bloom Filter&/b&. 简单讲它仍然是一种hash的方法,但是它的特点是,它可以使用固定的内存(不随url的数量而增长)以O(1)的效率判定url是否已经在set中。可惜天下没有白吃的午餐,它的唯一问题在于,如果这个url不在set中,BF可以100%确定这个url没有看过。但是如果这个url在set中,它会告诉你:这个url应该已经出现过,不过我有2%的不确定性。注意这里的不确定性在你分配的内存足够大的时候,可以变得很小很少。一个简单的教程:&a href=&///?target=http%3A//billmill.org/bloomfilter-tutorial/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Bloom Filters by Example&i class=&icon-external&&&/i&&/a&&br&&br&注意到这个特点,url如果被看过,那么可能以小概率重复看一看(没关系,多看看不会累死)。但是如果没被看过,一定会被看一下(这个很重要,不然我们就要漏掉一些网页了!)。 [IMPORTANT: 此段有问题,请暂时略过]&br&&br&&br&好,现在已经接近处理判重最快的方法了。另外一个瓶颈——你只有一台机器。不管你的带宽有多大,只要你的机器下载网页的速度是瓶颈的话,那么你只有加快这个速度。用一台机子不够的话——用很多台吧!当然,我们假设每台机子都已经进了最大的效率——使用多线程(python的话,多进程吧)。&br&&br&3)集群化抓取&br&爬取豆瓣的时候,我总共用了100多台机器昼夜不停地运行了一个月。想象如果只用一台机子你就得运行100个月了...&br&&br&那么,假设你现在有100台机器可以用,怎么用python实现一个分布式的爬取算法呢?&br&&br&我们把这100台中的99台运算能力较小的机器叫作slave,另外一台较大的机器叫作master,那么回顾上面代码中的url_queue,如果我们能把这个queue放到这台master机器上,所有的slave都可以通过网络跟master联通,每当一个slave完成下载一个网页,就向master请求一个新的网页来抓取。而每次slave新抓到一个网页,就把这个网页上所有的链接送到master的queue里去。同样,bloom filter也放到master上,但是现在master只发送确定没有被访问过的url给slave。Bloom Filter放到master的内存里,而被访问过的url放到运行在master上的Redis里,这样保证所有操作都是O(1)。(至少平摊是O(1),Redis的访问效率见:&a href=&///?target=http%3A//redis.io/commands/linsert& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&LINSERT – Redis&i class=&icon-external&&&/i&&/a&)&br&&br&&br&考虑如何用python实现:&br&在各台slave上装好scrapy,那么各台机子就变成了一台有抓取能力的slave,在master上装好Redis和rq用作分布式队列。&br&&br&&br&代码于是写成&br&&div class=&highlight&&&pre&&code class=&language-text&&#slave.py
current_url = request_from_master()
to_send = []
for next_url in extract_urls(current_url):
to_send.append(next_url)
store(current_url);
send_to_master(to_send)
#master.py
distributed_queue = DistributedQueue()
bf = BloomFilter()
initial_pages = &&
while(True):
if request == 'GET':
if distributed_queue.size()&0:
send(distributed_queue.get())
elif request == 'POST':
bf.put(request.url)
&/code&&/pre&&/div&&br&&br&好的,其实你能想到,有人已经给你写好了你需要的:&a href=&///?target=https%3A///darkrho/scrapy-redis& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&darkrho/scrapy-redis · GitHub&i class=&icon-external&&&/i&&/a&&br&&br&4)展望及后处理&br&虽然上面用很多“简单”,但是真正要实现一个商业规模可用的爬虫并不是一件容易的事。上面的代码用来爬一个整体的网站几乎没有太大的问题。&br&&br&但是如果附加上你需要这些后续处理,比如&br&&ol&&li&有效地存储(数据库应该怎样安排)&br&&/li&&li&有效地判重(这里指网页判重,咱可不想把人民日报和抄袭它的大民日报都爬一遍)&br&&/li&&li&有效地信息抽取(比如怎么样抽取出网页上所有的地址抽取出来,“朝阳区奋进路中华道”),搜索引擎通常不需要存储所有的信息,比如图片我存来干嘛...&br&&/li&&li&及时更新(预测这个网页多久会更新一次)&br&&/li&&/ol&&br&如你所想,这里每一个点都可以供很多研究者十数年的研究。虽然如此,&br&“路漫漫其修远兮,吾将上下而求索”。&br&&br&所以,不要问怎么入门,直接上路就好了:)
“入门”是良好的动机,但是可能作用缓慢。如果你手里或者脑子里有一个项目,那么实践起来你会被目标驱动,而不会像学习模块一样慢慢学习。 另外如果说知识体系里的每一个知识点是图里的点,依赖关系是边的话,那么这个图一定不是一个有向无环图。因为学习A…
多图预警。&br&长文预警。&br&&br&上一次更新:日。&br&这次没有更新本回答的正文内容,但是我在我的专栏&a href=&/studygame& class=&internal&&自学游戏开发 - 知乎专栏&/a&中,发布了&a href=&/p/& class=&internal&&一个游戏是如何被设计和开发出来的 - 知乎专栏&/a&。里面比较详细地展示了游戏的开发流程,以及人员分工、每个岗位的工作内容和能力要求。那篇文章共28900字,附带50个视频,希望有所帮助。&br&&br&这篇回答还在龟速更新中,大家如果特别想了解哪一部分,或者对已提到的部分还有疑问,可以在回答下留言。收到反馈能帮我更好地解答~另外,好多人加我好友,一上来打招呼就问应该怎么开始学习。其实我正文中说得很清楚了,请仔细参考程序部分。&br&&br&&br&&b&以这篇真诚的回答,致敬每一个 愿意把人生奉献给游戏事业的人。&/b&&br&&img src=&/v2-e9ede9be7fbc9d7b8bbd6d44fd554ce7_b.jpg& data-rawwidth=&1920& data-rawheight=&1080& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&/v2-e9ede9be7fbc9d7b8bbd6d44fd554ce7_r.jpg&&&br&&br&&br&题主你好~很想分享下学习经验。&br&我学习游戏设计到现在有五六年了,主要研究游戏的核心玩法设计,学过编程学过美术也学过音乐音效制作。曾经在游戏行业呆过一段时间,当时负责一款MMORPG游戏的土耳其市场。我的目标是做一个全能游戏设计师——什么都懂的游戏策划。目前的个人最高水平可以一人独立做出CS、Rust这样游戏的Demo。细分说技能的话,我会的东西有:&br&&ul&&li&编程(C、C++、C#、Java、JavaScript、HTML、Perl、Shell、SQL,&a href=&///?target=http%3A//ASP.NET& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&ASP.NET&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&网站制作,计算机图形学背景,熟悉Unity、Unreal4引擎)&/li&&li&美术(原型概念设计/不太熟练,素描还可以,色彩/应用不太熟练;3ds Max 建模、骨骼、蒙皮; C4D-Bodypainter贴图绘制;Maya建模;Zbrush雕刻在学,Substance Painter贴图绘制在学)&/li&&li&声音(学过音效处理,会用Au,给电影做过音效配音; 音乐是我目前最薄弱的一项,懂些乐理、识谱,知道鼓组、提琴阵、贝斯等基础编排,会用FL,平时没时间练习,打算2017年专项学习)&/li&&li&其他(以前玩摄影摄像,曾经做过大型舞台摄像、随行摄影;会用AE、PR、会声会影,做过不少视频。 我热爱户外运动。)&/li&&/ul&上面这些是我的技能树,每一个单项技能和专业人士是没法比的,但基本都往就业水平去学了。重要的是基本上&b&所有这些技能我都是自学的&/b&,所以我还算比较了解自学游戏设计与开发怎样才能避免走弯路。我也很想给同样选择了游戏事业,志同道合的朋友一些帮助。我也曾经少年过,做过游戏梦,心怀过”伟大的“游戏想法。五六年过去,现在我已经具备独立开发游戏的能力了。这个时间还不算久,因此我还能记得六年前的我,在站门外是什么感觉。我理解你们。发自内心地想要帮助你们实现游戏梦。有的知友在看完回答后私信我说,找到了人生的方向,今后几年的奋斗目标。我很感动,真诚地希望中国出现越来越多真正的游戏人,优秀的游戏设计师。这篇回答从2015年7月开始写,一直写到现在,六个月过去了,期间我一直在推敲我给出的学习方案的合理性以及效率最大化,并跟踪了一些刚入门的学习者的学习进度,学习体验。以此为基础来完善我们的学习路线。这也是为什么我更新得如此缓慢。我原本就计划是在两年之内完成本回答,包括美术和音乐的全部内容。为此我需要亲自去走一遍每个领域的学习路线,再总结成适合自学的方法论。在理论经过亲自验证之前,我不会公开宣扬,这是我坚持的做事原则。在过去的半年内,我把美术方面从概念设计到次时代级模型制作的整个流程通学了一遍,现在我正试着亲自带几个人来一次全面的学习。做这些事情,花费了我大量的精力,但我仍然坚持拒绝接受任何资金回报,以免变了味,成了个人商业培训。我做这些事的目的很纯粹,如前文所说,就是希望看到中国出现更多优秀的游戏设计师。&br&同时,我也发现了一些非常不好的现象:&b&许多私信联系我的学习者,连此篇回答都没能认真看完,就来问我应该如何开始自学,是否能提供学习资源。我通篇都在讲述如何自学,每一个板块后面都贴了资源。&/b&让人气愤的是我写了几个月的回答,如果连花费一小时阅读的耐心都没有,那么我也只能认为他更没有耐心来学习几年的游戏开发了。因此在私信提问我之前,请认真阅读此回答,这是一种对他人工作的尊重。&br&&br&现在开始严肃地讨论。看了题主的问题,我看得出题主是一个&b&真正想做游戏的人,而不是一个只想通过游戏赚钱的人。&/b&确实是这样的话,题主不需要去趟国内游戏行业这趟浑水,更不用通过进游戏公司来学习。在你什么都不会的情况下,就算进公司你也只能做苦逼体力活(比如:黑盒测试、配表、客服),成长很慢。而且国内游戏行业是一个聊钱聊产品聊运营的地方,不是聊游戏设计的地方。现在我&b&假设你的目标和我一样是做一个“全能游戏设计师”,并且假设你是高中刚毕业,什么都不会。&/b&这个假设的期望比较高,要高于你单纯地做出一款游戏来。应该能满足你的需求吧?&br&&b&在这样的前提下,你要达到你的目标,需要哪些的能力?我先给你展示一下&/b&:&br&&br&这是A大的游戏开发日记视频列表:&a href=&///?target=http%3A///%21/video/0//1& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&AliveGameStudio的个人空间&i class=&icon-external&&&/i&&/a&&br&A大就是一个既会编程,又会美术,又会策划,又会音乐的人。这系列视频就展示了一个全能游戏设计师需要具备的所有“硬”技能以及技能应该达到的熟练程度。(A大:Q币已到账)&br&题主你先看几期他的视频,了解一下他所具备的能力。等等,请收好这副星星眼,也许能用得着。&br&&br&这里我先罗列一下一个全能设计师所应掌握的最基本技能,然后后面再逐个给相应技能的&b&学习途径&/b&:&br&硬技能分为四个大块:&br&1、&b&程序&/b&&br&4、&b&设计&/b&(核心玩法、交互等)&br&2、&b&美术&/b&&br&3、&b&音乐&/b&&br&这里我把这四项以重要程度做了一个排序(仅对新人设计师而言)。这四项技能可以顺序专项学习,也可以交叉混合学习。优先级依次往下。我下面就来逐个分享学习方法。&br&&br&&br&&br&&br&&b&————Part1 你必须会编程}

我要回帖

更多关于 unity3d泰斗破坏神2 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信