dnednf搬砖黄金洞穴穴一个角色能搬砖到达250万以上怎么做到的?有大神知道吗,悬赏

&b&更新&/b&&b&(4月29 &/b&&b&数学复习过程中的瓶颈及解决&/b&&b&)&/b&&b&(4月26 专业课资料的选择)(4月25 时间的安排)(4月24 数学一资料的选择)&/b&&br&&b&最近在赶毕设,更新暂时延后哈&br&&/b&想了想还是对自己的考研经历做个总结,Mark一下,有空开始一点一点写。&br&&b&背景:本科北航计算机 今年考入 清华大学计算机系学硕 (初试、笔试、面试均第一)&/b&&br&&b&政治: 70 / 英语: 68 / 数学一: 133 / 计算机基础综合(912): 138&/b&&br&&img src=&/38babe7fabdd491b82900b_b.jpg& data-rawwidth=&1852& data-rawheight=&858& class=&origin_image zh-lightbox-thumb& width=&1852& data-original=&/38babe7fabdd491b82900b_r.jpg&&&br&大纲:(后续更新)&br&985是否应该冒风险考外校&br&------------------------------------------&br&&b&数学复习过程中的瓶颈及解决(4月29更新)&/b&&br&讲学习计划时间安排的太多了,我感觉那些东西都是因人而异的,没有也不可能有完全正确的复习计划的(不然大家都按一套复习方法不就都考上了…),如果真想学好就一定要挖掘自身的特点,根据自己的特点来制定计划。&br&所以我就从另外一个角度来说一点东西。据我考研阶段复习数学的感觉以及跟同学聊天听到的,我觉得数学的复习过程中是存在瓶颈的,所以我就来说一说可能遇到的瓶颈和我认为比较靠谱的解决方法。(维度是整个复习过程)&br&&b&初期:&/b&&br&&b&知识点都复习了,但单独遇到题还是不会做&/b&。最开始复习我们知识储备不够,没有真正的理解知识点,对题目不敏感,不知道遇到什么情况应该从哪里入手,出现这种情况很正常。&br&为了真正的掌握知识点,对于每一个知识点我进行了两种整理:&br&1、我在第一遍复习的时候对于每个知识点都总结了我遇到的题型,从中再归纳出一些小规律,比如遇到什么情况应该选择格林公式,什么情况应该进行第一、二型曲线积分互换等等。这样对于每一个知识点都形成一个体系,而且还可以进行不断修正扩充。归纳就是从一道题里看出更一般化的情况,找到这个题背后一般化的规律。&br&2、其实每一个知识点的引出都是为了解决一个问题或者配合另一个知识点,所以要真正理解一个知识点必须在做题过程中多思考几个知识点是怎么衔接上的,这个知识点能这样的原因是什么。比如线代的所有知识其实都是通的,如果从向量的角度看,方程组Ax=b就可以看作是表述几个向量在每个坐标轴上分量的关系,方程组有解就是b可以被表述为A的列向量的线性组合,也就是b在A的列向量构成的空间中。或者(x-μ)/σ其实就是指x到均值有多少个标准差的距离。&br&&img src=&/852b2f907fc24fd7f5b9f_b.jpg& data-rawwidth=&1700& data-rawheight=&901& class=&origin_image zh-lightbox-thumb& width=&1700& data-original=&/852b2f907fc24fd7f5b9f_r.jpg&&&br&&img src=&/ebcc44b0d3c7cb8d0d6f3_b.jpg& data-rawwidth=&2448& data-rawheight=&3264& class=&origin_image zh-lightbox-thumb& width=&2448& data-original=&/ebcc44b0d3c7cb8d0d6f3_r.jpg&&&br&&b&中期:&br&刚开始做真题,知识点想不起来,很多复习过的知识点也不会做了&/b&。一般来说在刚开始接触真题(成套试卷)的时候都很不适应,原来复习过的知识点经常想不起来,拿到题甚至一片空白没有思路。我是在第一遍复习完数学全书,听了张宇的强化班,做了一半的1000题之后才开始做真题的(其实挺晚的了),但是刚开始做真题的时候一张卷子会有很多知识点想不起来的情况,这个情况一直持续到我做了五张卷子。我习惯做真题后会仔细标明每一题出现的知识点,所以我整理了每一套卷子上我不会的知识点,&b&写在了一张白纸上,统计了每一科不会的知识点的数量&/b&,了解了下一步应该着重复习的方向。之后我就对着这张纸,一个知识点一个知识点的进行突破,学会一个勾一个,直到几天后我把所有这些知识点都掌握之后,再做真题就能够顺畅的做完全套了。把不会的知识点写在一张纸上,一个一个解决的感觉特别好,而且之后再复习的时候可以看着纸回想,检验是否遗忘。&br&&img src=&/ab70d0c76_b.jpg& data-rawwidth=&3264& data-rawheight=&2448& class=&origin_image zh-lightbox-thumb& width=&3264& data-original=&/ab70d0c76_r.jpg&&&br&&b&后期:&/b&&br&&b&选择填空题小题错误率提高&/b&(这个问题其实困扰了我很久直到考前)。这个问题一般出现在做了10套以上真题之后,原因不明,我在高考的时候也遇到了这个问题,当时我是花了几天时间只做卷子上的选择填空,刷了30套卷子之后把正确率提高的。这次备考过程中我遇到这个问题的时候就想起来了当年的解决方法:认真刷小题练习准确率。所以我就找来了660题(正好我还没做,真题比较珍贵还是不要挑着选择填空来做了)(其它的题集都可以),每一题都认真的在草稿纸上写过程计算,&b&每5道题对一次答案&/b&,标明错误的原因,接着做的时候努力避免同样的错误。(一般的错误都是什么计算错误、某一知识点记错了之类的错误),小题的错误一般都具有共性,所以可以通过这样的不断练习让自己在做题的时候养成在一些自己常犯错的地方自动谨慎的习惯。经过一周的练习,我的错误率降低了不少,据我的估计最后考研的时候我做了的题应该基本都没错(我有两道大题的第二问未写出结果,但最后133。所以保证小题简单题的正确率,做了的保证不出错,这点很重要)(这部分笔记好像找不到了)&br&-------------------------------------------&br&计算机专业课的复习经验教训&br&一个英语渣渣的经验(对英语水平较弱的人)&br&记性不好的工科生怎么准备政治&br&-------------------------------------------&br&&b&资料的选择(4月26更新)(重磅!!!全是干货)&/b&(为了更容易看到,先放到前面)&br&&b&专业课&/b&:&br&&b&课本&/b&!如果能确定考哪个学校(且学校不是统考),一定要找到该学校的课本,今年清华的计算机专业课是第一年自主命题,题目讲真是不难的,我感觉平均分不高的原因可能是很多人还是按408的知识点复习的,但其实有很多额外的知识点,所以如果是自主命题的话,一定要找来学校的课本学习(尤其是学校老师出的书)(数据结构:殷人昆好像我之前说的是邓俊晖的,纠正一下)。&br&如何找合适的课本呢,我是到清华校内的旧书店问老板,买来了一些旧书(里面甚至有教学计划(上课的内容))。其次是通过和早年真题对比,我发现有几本书的配套习题解析里面有很多往年的真题,那这些书很有可能就是老师使用的课本,里面的知识点涵盖的肯定很全(当时想的说不定还能有原题~)(随便找了一个,其它的很多应该都有)&br&&img src=&/7047a1dbaf4b2ce8d3bcb_b.jpg& data-rawwidth=&3264& data-rawheight=&2448& class=&origin_image zh-lightbox-thumb& width=&3264& data-original=&/7047a1dbaf4b2ce8d3bcb_r.jpg&&教学计划(知识点)&br&&img src=&/315a854b9842f27bbb7accb_b.jpg& data-rawwidth=&2448& data-rawheight=&3264& class=&origin_image zh-lightbox-thumb& width=&2448& data-original=&/315a854b9842f27bbb7accb_r.jpg&&&b&补充:另外两科我在考前看过这三本习题集,里面有些很像早年考试题的例题,但好像最后考试出的题不太像,可以借来看看&/b&&img src=&/da65d5e1c9f1602_b.png& data-rawwidth=&425& data-rawheight=&105& class=&origin_image zh-lightbox-thumb& width=&425& data-original=&/da65d5e1c9f1602_r.png&&&b&网课!&/b&因为对编程比较熟,最开始我对数据结构比较有信心,所以一直没有仔细复习,到了10月以后我发现这一科才是大坑呀,知识点多,而且难易程度不定(乱七八糟的B树之类的要出难很容易)这时我找到了学堂在线邓俊晖老师的数据结构课程,里面对于每一点知识点都讲了来龙去脉,不止对考研甚至对我平时编程也有很多的帮助。(考试的时候数据结构的配图和网课的风格完全一样,看着特别亲切)(考试的时候就是这样的图)&br&&img src=&/d1b2aacbbf25c5e1bb48136_b.jpg& data-rawwidth=&1498& data-rawheight=&598& class=&origin_image zh-lightbox-thumb& width=&1498& data-original=&/d1b2aacbbf25c5e1bb48136_r.jpg&&&br&&b&真题!&/b&我搜集了94年到08年清华自主命题的真题,过了三遍,第一遍我标明了每一年出现过的知识点,然后对着在课本中学习。第二遍我认真的将真题做了一遍,总结了出现的题型,在清华课本的配套习题中找到相似的进行练习。第三遍我猜测了今年可能的出题重点,进行了专项的练习(其实看真题就会发现清华的出题和408差很多,比如408基本不考散列表,但清华的真题里经常出现是重点。当然了,今年也出了)&br&&img src=&/a657ccbf1bc746a27ab13f_b.jpg& data-rawwidth=&3264& data-rawheight=&2448& class=&origin_image zh-lightbox-thumb& width=&3264& data-original=&/a657ccbf1bc746a27ab13f_r.jpg&&&br&&b&(这种资料其实挺好找的,百度一下“清华大学2000年计算机原理(数据结构、操作系统)考研真题”然后百度文库里面就有了,其实找资料的能力是必备的,如果想获取某个资料上网查查就有咯,这种东西不需要别人都一个一个标明链接吧,而且多练习对自己是有好处的)(其实我是很想共享出来的,可惜电脑里大四的资料被我误删了,包括考研的,我自己也感觉挺遗憾的,本来还想留一纪念的…)&/b&&br&&br&&b&王道:&/b&计算机组成、网络、操作系统、数据结构、最后8套模拟题。王道的书讲解和总结的都挺好,适合第一遍复习(有基础的)、或者第二遍复习,可以当作课本来查阅。每一遍阅读都会有新的收获。在10月之前我的专业课复习做题不成系统,一科一科的练的,当时我做了王道的模拟题,刚开始错的惨不忍睹,同时做四科脑子转换不过来,后来仔仔细细做了5套以后就熟练了(这个不论哪一科,刚开始成套做题的时候都很惨,所以尽可能早点接触成套的题)&br&&br&&b&天勤:&/b&计算机组成原理习题精析、计算机操作系统习题精析。我看很多人好像对天勤的题不太感冒,我是在11月后期的时候刷了这两本习题集(两遍),收获很大。每一章可能的出题方式我都练习了也总结了,后来我看到任何大题都没出了我见过题的范围,所以有时间的话多刷点题,别老是看书。专业课一般都是知识点多、难,但出题方式特别固定,比如计组Cache的映射比较难,但题目的类型很单一,吃透了题目也就够了。&br&&br&&b&天勤2014历年名校计算机考研&/b&:这一本书我买的比较晚做的不多,但里面按章节整理了各个自主命题学校的真题,看起来还不错,如果认真做一遍应该会有收获。&br&&br&&b&算法与数据结构考研习题精析&/b&:清华的数据结构占了70分,所以当时买了这一本书,它包含了相当多的数据结构题目,但我感觉里面的不太适合清华的命题习惯,所以只是挑了一些做做。题目量大,不是很推荐。&br&&br&&b&总结:&/b&&br&计算机专业课知识点多,可以反复多看看课本和王道的书,看得多了你会发现其实知识点也不是很多,都有联系(其实操作系统和计组很多相通的,解决的问题相似,只是一个是从系统层面一个是从硬件层面解决的,比如虚拟内存和Cache)。&br&虽然知识点多,但出题方式固定,所以多做点题,总结一下题型吧。&br&-------------------------------------------&br&&b&时间的安排(4月25更新)&/b&&br&具体的时间节点有点忘了,我先简单介绍一下我的复习过程,里面满满的教训。&br&我大致是从3月开始复习的,先复习的数学,刷完高数的全书之后看的英语,看了大半个学期的恋练有词,每天背一篇真题阅读。然后期末借着考试的机会把计算机网络仔仔细细过了一遍,7月把专业课全部过了一遍,国外国内的教材,王道的辅导书。然后8月开始重新复习数学,大半个月看完张宇的强化课。然后开始做真题,穿插学习英语和政治(马原)。9月底开始重新复习专业课,刷专业课的题。政治考纲出来之后开始全面复习政治,之后就是每天分块交替学习。&br&满满的&b&教训&/b&,听我一个一个说:&br&1、&b&复习不连贯&/b&!当我第一遍复习完数学之后,隔了3个多月才重新复习,基本全忘完,第一遍的时候仔细做了笔记也没有用。当我7月复习完专业课之后又是两个多月没管它,后来再看的时候贼绝望…我7月前背了一个月的英语阅读然后又晾了英语很久很久,直到10月份才重新做真题…&br&这个对我的影响特别大,一旦复习不连贯第二遍要重头看就会耽误特别多的时间。后面意识到这一点之后我所有的时间安排都是连贯的,不会抛开某一科不复习,即使少看一点。&br&如何实现呢,我有一点经验,把每天的时间分块,三小时一大块,一天换四次。一般是不同的科目,但可能在某一科需要的时候多分一块,比如上午三小时数学,下午晚上三小时专业课,三小时政治,再三小时专业课,穿插着来。实际中稍微有点变动,比如时间因为吃饭被切开的话就一个小时或两个小时一块。我中后期基本是上午8-11点数学,吃饭睡觉,1点-4点专业课,4-6点政治,7点-10点专业课,10点-11点英语,回寝。(临考前一个月的时候变为:10点半起床,11点吃完饭到图书馆。两个小时一个单位,11点-下午5点:6个小时, 6点-凌晨2点:8个小时,总共14个小时。2点半前入睡)&br&每天尽量把每一科都复习到,交替进行还可以保证注意力更集中点,学一科时间长了还是会疲的。&br&(教训的内容待续)&br&&b&一点经验:&/b&&br&1、&b&时间分块&/b&&br&前面说了我把每天的时间分成三小时一大块,其实里面还被分成了50分钟一小块。我带了一个可以倒计时的表,然后保证自己50分钟专心学习,到了时间如果兴致还可以就再来50分钟,如果效率降低就休息一小会儿。这个其实就是番茄学习法(加长版)&br&2、&b&不要成块休息&/b&&br&复习过程不能间断,最开始的时候我觉得要劳逸结合,每周末可以有一天休息。但我发现成块的时间休息了之后会影响接下来的复习效率,所以我就把休息时间分散到每天,比如暑假的时候吃饭前游一个小时泳,或者晚饭后看半个小时的视频。我感觉休息不需要成块进行,单独捞出来一天对惯性影响的很大。&br&3、&b&利用零散时间&/b&&br&除了前面通过分块让自己的复习交替进行,为了不间断学习每一科,小块儿零散的时间也需要利用好,网上有很多课程的相关视频(不是指网课),很多还是有收获的,这些视频可以利用吃饭的时间或者休息的时间来看,比如清华大学邓俊晖老师的数据结构(学堂在线)、新浪公开课的英文演讲和线性代数、朱伟的英语作文等,这些额外的视频听起来不会加重负担,时间也短适合小块儿时间。还有一个很好的App:&b&口袋题库考研&/b&(强烈推荐!)里面有知识点的卡片,还可以刷政治的选择题,有时候走在路上一小会儿就可以复习一章或者刷一点题,这样就能在白天主流的复习之外复习一些之前的东西,保证不会遗忘。&br&这种东西不能当作一种任务来完成,我是单纯的感觉很珍惜这些时间,每利用到一点就有一种赚到了的感觉~&img data-rawwidth=&750& data-rawheight=&1334& src=&/826ffced9c5d863bbbd3ad_b.jpg& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/826ffced9c5d863bbbd3ad_r.jpg&&&br&4、&b&加快速度,不拖战线&/b&&br&(中期,非第一遍复习)我有一个特点,看东西比较快,我不太会在难题或者不好理解的知识点上拖时间,那些难题或者难知识点不是一次就可以掌握的,之后本来就还要不断的重复。我在复习每一科的时候都尽可能的推进进度,不拖战线,让一科的知识形成框架。比如我听张宇的视频,线代概率好像只花了一周多点,这样至少不会后面的复习着前面的忘记了。当然这一点因人而异了,我的感觉是如果可以加快速度,对整体的把握会更好。(第一遍复习基础还是比较重要的,但也不要盯着难题或者难的知识点不放过,尽量推进。难的知识点后面再重复)&br&5、&b&纪录每天的进度&/b&&br&可以在每天结束的时候记录下今天学了什么完成了多少任务,有效学习时间是多少。让自己能看到每天的进展,心里面会踏实一点。&img src=&/791f5942ddb_b.jpg& data-rawwidth=&3264& data-rawheight=&2448& class=&origin_image zh-lightbox-thumb& width=&3264& data-original=&/791f5942ddb_r.jpg&&&br&-------------------------------------------&br&&b&资料的选择(4月24更新)&/b&&br&&u&&b&数学一:&/b&&/u&&br&1、&b&数学全书&/b&:我在第一轮复习时使用,特点是知识点和题型全面,后期遇到哪些章不会时仍可以重温,可以当作课本用。&br&&br&2、&b&张宇的讲义&/b&:张宇的高数18讲、概论9讲、线代9讲,我买了未仔细看,但感觉不如数学全书全面,相比于张宇的书更喜欢他的讲义,来龙去脉讲的比较清晰,可以将知识穿起来形成体系。(不是单看讲义哟,讲义是配着视频看的。我后面复习把讲义翻来覆去看了好多遍,所以在这儿列为一个资料)&br&&br&3、&b&数学基础过关660题&/b&:660题中对于每个知识点有很多不同方向的出题方式,对于全面掌握知识点很有帮助。我用的比较晚,在后期发现小题正确率不高的时候才拿来用,感觉有效果,推荐!(张宇的1000题我做过一半,题目较难,感觉不如660题基础,也不如八套模拟题题目新。定位尴尬,初期不会做,后期不值得做。)&br&&br&4、&b&真题大全解、张宇八套模拟卷、张宇四套冲刺卷(张宇41套卷)&/b&:强烈推荐!我的复习基本上全是基于这些卷子展开的。先做真题,每一套都要做两遍以上。我的做法是第一天花一晌做一套,第二天花一晌对着答案修改再加上看书复习遇到的不会之处。做三套一回头,花一晌时间重做错题总结卷子中出现的知识点。八套模拟卷出的特别好,常常有让我惊叹的题,题目较难,可以在做真题的过程中穿插做。(粗略的介绍,前面说数学的时候会具体展开)&br&&img src=&/bb95876daba53fd6ec95fd8f6f7441f3_b.jpg& data-rawwidth=&3264& data-rawheight=&2448& class=&origin_image zh-lightbox-thumb& width=&3264& data-original=&/bb95876daba53fd6ec95fd8f6f7441f3_r.jpg&&&img src=&/0ff75c4afb1c2e368289de_b.jpg& data-rawwidth=&3264& data-rawheight=&2448& class=&origin_image zh-lightbox-thumb& width=&3264& data-original=&/0ff75c4afb1c2e368289de_r.jpg&&&br&&b&总结:&/b&&br&数学全书(肉)+张宇的讲义(骨架)用于掌握知识&br&真题是核心,总结很重要&br&张宇8+4 穿插做,用于扩展思路&br&660题可以用于锻炼做题准确度&br&-------------------------------------------&br&心理的调整(后续更新)
更新(4月29 数学复习过程中的瓶颈及解决)(4月26 专业课资料的选择)(4月25 时间的安排)(4月24 数学一资料的选择) 最近在赶毕设,更新暂时延后哈 想了想还是对自己的考研经历做个总结,Mark一下,有空开始一点一点写。 背景:本科北航计算机 今年考入…
&p&关于深度学习,网上的资料很多,不过貌似大部分都不太适合初学者。
这里有几个原因:
1.深度学习确实需要一定的数学基础。如果不用深入浅出地方法讲,有些读者就会有畏难的情绪,因而容易过早地放弃。
2.中国人或美国人写的书籍或文章,普遍比较难一些。我不太清楚为什么,不过确实是这样子的。&/p&&p&深度学习,确实需要一定的数学基础,但真的那么难么?这个,还真没有。不信?听我来给你侃侃。看完,你也会觉得没那么难了。&/p&&p&本文是针对初学者,高手可以无视,有不对的地方,还请多多批评指正。&/p&&p&这里,先推荐一篇非常不错的文章:
《1天搞懂深度学习》,300多页的ppt,台湾李宏毅教授写的,非常棒。
不夸张地说,是我看过最系统,也最通俗易懂的,关于深度学习的文章。&/p&&p&这是slideshare的链接:
&a href=&///?target=http%3A//www.slideshare.net/tw_dsconf/ss-Fqid%3D108adce3-2c3d-d0a57e46bc%26v%3D%26b%3D%26from_search%3D3& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://www.slideshare.net/tw_dsconf/ss-?qid=108adce3-2c3d-d0a57e46bc&v=&b=&from_search=3&i class=&icon-external&&&/i&&/a&&/p&&p&没梯子的同学,可以从我的网盘下:
链接:&a href=&///?target=http%3A///s/1nv54p9R& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/s/1nv54p9&/span&&span class=&invisible&&R&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a& 密码:3mty&/p&&p&要说先准备什么,私以为,其实只需要知道导数和相关的函数概念就可以了。高等数学也没学过?很好,我就是想让文科生也能看懂,您只需要学过初中数学就可以了。&/p&&p&其实不必有畏难的情绪,个人很推崇李书福的精神,在一次电视采访中,李书福说:谁说中国人不能造汽车?造汽车有啥难的,不就是四个轮子加两排沙发嘛。当然,他这个结论有失偏颇,不过精神可嘉。&/p&&p&导数是什么,无非就是变化率呗,王小二今年卖了100头猪,去年卖了90头,前年卖了80头。。。变化率或者增长率是什么?每年增长10头猪,多简单。这里需要注意有个时间变量---年。王小二卖猪的增长率是10头/年,也就是说,导数是10.
函数y=f(x)=10x+30,这里我们假设王小二第一年卖了30头,以后每年增长10头,x代表时间(年),y代表猪的头数。
当然,这是增长率固定的情形,现实生活中,很多时候,变化量也不是固定的,也就是说增长率也不是恒定的。比如,函数可能是这样: y=f(x)=5x?+30,这里x和y依然代表的是时间和头数,不过增长率变了,怎么算这个增长率,我们回头再讲。或者你干脆记住几个求导的公式也可以。&/p&&p&深度学习还有一个重要的数学概念:偏导数,偏导数的偏怎么理解?偏头疼的偏,还是我不让你导,你偏要导?都不是,我们还以王小二卖猪为例,刚才我们讲到,x变量是时间(年),可是卖出去的猪,不光跟时间有关啊,随着业务的增长,王小二不仅扩大了养猪场,还雇了很多员工一起养猪。所以方程式又变了:y=f(x)=5x??+8x? + 35x? +30
这里x?代表面积,x?代表员工数,当然x?还是时间。
上面我们讲了,导数其实就是变化率,那么偏导数是什么?偏导数无非就是多个变量的时候,针对某个变量的变化率呗。在上面的公式里,如果针对x?求偏导数,也就是说,员工对于猪的增长率贡献有多大,或者说,随着(每个)员工的增长,猪增加了多少,这里等于35---每增加一个员工,就多卖出去35头猪. 计算偏导数的时候,其他变量都可以看成常量,这点很重要,常量的变化率为0,所以导数为0,所以就剩对35x? 求导数,等于35. 对于x?求偏导,也是类似的。
求偏导我们用一个符号 表示:比如 y/ x? 就表示y对 x?求偏导。&/p&&p&废话半天,这些跟深度学习到底有啥关系?有关系,我们知道,深度学习是采用神经网络,用于解决线性不可分的问题。关于这一点,我们回头再讨论,大家也可以网上搜一下相关的文章。我这里主要讲讲数学与深度学习的关系。先给大家看几张图:&/p&&img src=&/v2-cbe0cdfd0af76d328ebe_b.png& data-rawwidth=&631& data-rawheight=&488& class=&origin_image zh-lightbox-thumb& width=&631& data-original=&/v2-cbe0cdfd0af76d328ebe_r.png&&&p& 图1. 所谓深度学习,就是具有很多个隐层的神经网络。&/p&&img src=&/v2-0d5accd6d800be9f933b_b.jpg& data-rawwidth=&432& data-rawheight=&576& class=&origin_image zh-lightbox-thumb& width=&432& data-original=&/v2-0d5accd6d800be9f933b_r.jpg&&&br&&p&图2.单输出的时候,怎么求偏导数&/p&&img src=&/v2-c52b1fcdd42c3ace40a8619_b.jpg& data-rawwidth=&432& data-rawheight=&576& class=&origin_image zh-lightbox-thumb& width=&432& data-original=&/v2-c52b1fcdd42c3ace40a8619_r.jpg&&&p&图3.多输出的时候,怎么求偏导数。后面两张图是日语的,这是日本人写的关于深度学习的书。感觉写的不错,把图盗来用一下。所谓入力层,出力层,中间层,分别对应于中文的:输入层,输出层,和隐层。&/p&&p&大家不要被这几张图吓着,其实很简单的。干脆再举一个例子,就以撩妹为例。男女恋爱我们大致可以分为三个阶段:
1.初恋期。相当于深度学习的输入层。别人吸引你,肯定是有很多因素,比如:身高,身材,脸蛋,学历,性格等等,这些都是输入层的参数,对每个人来说权重可能都不一样。
2.热恋期。我们就让它对应于隐层吧。这个期间,双方各种磨合,柴米油盐酱醋茶。
3.稳定期。对应于输出层,是否合适,就看磨合得咋样了。&/p&&p&大家都知道,磨合很重要,怎么磨合呢?就是不断学习训练和修正的过程嘛!比如女朋友喜欢草莓蛋糕,你买了蓝莓的,她的反馈是negative,你下次就别买了蓝莓,改草莓了。
------------------------------------------------------------------------------------------------
看完这个,有些小伙可能要开始对自己女友调参了。有点不放心,所以补充一下。
撩妹和深度学习一样,既要防止欠拟合,也要防止过拟合。所谓欠拟合,对深度学习而言,就是训练得不够,数据不足,就好比,你撩妹经验不足,需要多学着点,送花当然是最基本的了,还需要提高其他方面,比如,提高自身说话的幽默感等,因为本文重点并不是撩妹,所以就不展开讲了。这里需要提一点,欠拟合固然不好,但过拟合就更不合适了。过拟合跟欠拟合相反,一方面,如果过拟合,她会觉得你有陈冠希老师的潜质,更重要的是,每个人情况不一样,就像深度学习一样,训练集效果很好,但测试集不行!就撩妹而言,她会觉得你受前任(训练集)影响很大,这是大忌!如果给她这个映象,你以后有的烦了,切记切记!
------------------------------------------------------------------------------------------------&/p&&p&深度学习也是一个不断磨合的过程,刚开始定义一个标准参数(这些是经验值。就好比情人节和生日必须送花一样),然后不断地修正,得出图1每个节点间的权重。为什么要这样磨合?试想一下,我们假设深度学习是一个小孩,我们怎么教他看图识字?肯定得先把图片给他看,并且告诉他正确的答案,需要很多图片,不断地教他,训练他,这个训练的过程,其实就类似于求解神经网络权重的过程。以后测试的时候,你只要给他图片,他就知道图里面有什么了。&/p&&p&所以训练集,其实就是给小孩看的,带有正确答案的图片,对于深度学习而言,训练集就是用来求解神经网络的权重的,最后形成模型;而测试集,就是用来验证模型的准确度的。&/p&&p&对于已经训练好的模型,如下图所示,权重(w1,w2...)都已知。&/p&&img src=&/v2-9e08dbbab5aa63b6527bd4_b.png& data-rawwidth=&940& data-rawheight=&736& class=&origin_image zh-lightbox-thumb& width=&940& data-original=&/v2-9e08dbbab5aa63b6527bd4_r.png&&&p&
图4&/p&&img src=&/v2-ef5ad0d06a316f762ff43_b.png& data-rawwidth=&776& data-rawheight=&174& class=&origin_image zh-lightbox-thumb& width=&776& data-original=&/v2-ef5ad0d06a316f762ff43_r.png&&&p&
图5&/p&&p&我们知道,像上面这样,从左至右容易算出来。但反过来呢,我们上面讲到,测试集有图片,也有预期的正确答案,要反过来求w1,w2......,怎么办?&/p&&p&绕了半天,终于该求偏导出场了。目前的情况是:&/p&&p&1.我们假定一个神经网络已经定义好,比如有多少层,都什么类型,每层有多少个节点,激活函数(后面讲)用什么等。这个没办法,刚开始得有一个初始设置(大部分框架都需要define-and-run,也有部分是define-by-run)。你喜欢一个美女,她也不是刚从娘胎里出来的,也是带有各种默认设置的。至于怎么调教,那就得求偏导。&/p&&p&2.我们已知正确答案,比如图2和3里的r,训练的时候,是从左至右计算,得出的结果为y,r与y一般来说是不一样的。那么他们之间的差距,就是图2和3里的E。这个差距怎么算?当然,直接相减是一个办法,尤其是对于只有一个输出的情况,比如图2; 但很多时候,其实像图3里的那样,那么这个差距,一般可以这样算,当然,还可以有其他的评估办法,只是函数不同而已,作用是类似的:&/p&&img src=&/v2-e5ddd26d65aa04ed82f2a51fc8212427_b.png& data-rawwidth=&484& data-rawheight=&102& class=&origin_image zh-lightbox-thumb& width=&484& data-original=&/v2-e5ddd26d65aa04ed82f2a51fc8212427_r.png&&&p&不得不说,理想跟现实还是有差距的,我们当然是希望差距越小越好,怎么才能让差距越来越小呢?得调整参数呗,因为输入(图像)确定的情况下,只有调整参数才能改变输出的值。怎么调整,怎么磨合?刚才我们讲到,每个参数都有一个默认值,我们就对每个参数加上一定的数值?,然后看看结果如何?如果参数调大,差距也变大,你懂的,那就得减小?,因为我们的目标是要让差距变小;反之亦然。所以为了把参数调整到最佳,我们需要了解误差对每个参数的变化率,这不就是求误差对于该参数的偏导数嘛。&/p&&p&关键是怎么求偏导。图2和图3分别给了推导的方法,其实很简单,从右至左挨个求偏导就可以。相邻层的求偏导其实很简单,因为是线性的,所以偏导数其实就是参数本身嘛,就跟求解x?的偏导类似。然后把各个偏导相乘就可以了。&/p&&p&这里有两个点:&/p&&p&这里有两个点:一个是激活函数,这主要是为了让整个网络具有非线性特征,因为我们前面也提到了,很多情况下,线性函数没办法对输入进行适当的分类(很多情况下识别主要是做分类),那么就要让网络学出来一个非线性函数,这里就需要激活函数,因为它本身就是非线性的,所以让整个网络也具有非线性特征。另外,激活函数也让每个节点的输出值在一个可控的范围内,这样计算也方便。&/p&&p&貌似这样解释还是很不通俗,其实还可以用撩妹来打比方;女生都不喜欢白开水一样的日子,因为这是线性的,生活中当然需要一些浪漫情怀了,这个激活函数嘛,我感觉类似于生活中的小浪漫,小惊喜,是不是?相处的每个阶段,需要时不时激活一下,制造点小浪漫,小惊喜,比如;一般女生见了可爱的小杯子,瓷器之类都迈不开步子,那就在她生日的时候送一个特别样式,要让她感动得想哭。前面讲到男人要幽默,这是为了让她笑;适当的时候还要让她激动得哭。一哭一笑,多整几个回合,她就离不开你了。因为你的非线性特征太强了。&/p&&p&当然,过犹不及,小惊喜也不是越多越好,但完全没有就成白开水了。就好比每个layer都可以加激活函数,当然,不见得每层都要加激活函数,但完全没有,那是不行的。&/p&&p&由于激活函数的存在,所以在求偏导的时候,也要把它算进去,激活函数,一般用sigmoid,也可以用Relu等。激活函数的求导其实也非常简单:&/p&&img src=&/v2-aaedc22cee9ed_b.jpg& data-rawwidth=&257& data-rawheight=&159& class=&content_image& width=&257&&&p&求导: f'(x)=f(x)*[1-f(x)]
这个方面,有时间可以翻看一下高数,没时间,直接记住就行了。
至于Relu,那就更简单了,就是f(x) 当x&0的时候y等于0,其他时候,y等于x。
当然,你也可以定义你自己的Relu函数,比如x大于等于0的时候,y等于0.01x,也可以。&/p&&p&另一个是学习系数,为什么叫学习系数?刚才我们上面讲到?增量,到底每次增加多少合适?是不是等同于偏导数(变化率)?经验告诉我们,需要乘以一个百分比,这个就是学习系数,而且,随着训练的深入,这个系数是可以变的。&/p&&p&当然,还有一些很重要的基本知识,比如SGD(随机梯度下降),mini batch 和 epoch(用于训练集的选择),限于篇幅,以后再侃吧。其实参考李宏毅的那篇文章就可以了。&/p&&p&这篇拙文,算是对我另一个回答的补充吧:
&a href=&/question//answer/?from=profile_answer_card& class=&internal&&深度学习入门必看的书和论文?有哪些必备的技能需学习? - jacky yang 的回答&/a&&/p&&p&其实上面描述的,主要是关于怎么调整参数,属于初级阶段。上面其实也提到,在调参之前,都有默认的网络模型和参数,如何定义最初始的模型和参数?就需要进一步深入了解。
不过对于一般做工程而言,只需要在默认的网络上调参就可以了,相当于用算法;
对于学者和科学家而言,他们会发明算法,难度还是不小的。向他们致敬!&/p&&p&写得很辛苦,觉得好就给我点个赞吧:)&/p&&p&------------------------------------------------------------------------------------------------&/p&&p&关于求偏导的推导过程,我尽快抽时间,把数学公式用通俗易懂的语言详细描述一下,前一段时间比较忙,抱歉:)&/p&&p&------------------------------------------------------------------------------------------------&/p&
关于深度学习,网上的资料很多,不过貌似大部分都不太适合初学者。
这里有几个原因:
1.深度学习确实需要一定的数学基础。如果不用深入浅出地方法讲,有些读者就会有畏难的情绪,因而容易过早地放弃。
2.中国人或美国人写的书籍或文章,普遍比较难一些。我…
&h2&入门&/h2&&p&当然是 MongoDB 公司推出的&b&免费在线课程 &a href=&///?target=https%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MongoDB University&i class=&icon-external&&&/i&&/a&&/b&。这是关于 MongoDB 最好的在线教程,没有之一,权威、系统并且更新及时。可以告诉你的是,MongoDB 新入职员工培训都从这些在线课程开始。&a href=&///?target=https%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MongoDB University&i class=&icon-external&&&/i&&/a& 比其它地方能找到的文章和教程要好太多。&/p&&p&课程分别针对开发者和 DBA 而设计,非常用心。拿 MongoDB for Developers 来说,它在 mongo shell 之外使用 python 教学,但并不要求 python 经验。7周的课程中,从安装开始,带你写出一个基于 MongoDB 数据库的博客。每周的课程都有小作业,写写代码,答答题。除了在实践中学习,课程也涵盖了开发者需要知道的各方面细节,全面深入。另外,还有对 Foursquare 和 Codecademy 的采访,分享他们的使用经验和演变过程。还可以选择从 Kaltura 加载视频,不用翻墙看 Youtube,是不是非常贴心?&/p&&p&另一个值得推荐的免费课程是 edX 上的 &a href=&///?target=https%3A//www.edx.org/course/introduction-mongodb-using-mean-stack-mongodbx-m101x-0& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Introduction to MongoDB using the MEAN Stack&i class=&icon-external&&&/i&&/a&。这个课程由 edX 与 MongoDB 合作完成,使用 Node.js,AngularJS 与 MongoDB 建设一个在线商城,帮你快速上手。&/p&&p&如果你的团队都希望快速学习 MongoDB,MongoDB 提供定制化的 &a href=&///?target=https%3A///private_training& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MongoDB University 团队培训&i class=&icon-external&&&/i&&/a& ,讲师都有非常丰富的第一手经验。这其实就是 MongoDB 新员工培训的第二部分,所以课程质量没得说。客户包括像 ebay 这样的大公司,也包括创业小公司。国内当然提供中文培训。&/p&&h2&&b&进阶&/b&&/h2&&p&了解基本概念和用法之后,在项目里试试吧。英文的 &a href=&///?target=http%3A//docs.mongodb.org/manual/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MongoDB 文档&i class=&icon-external&&&/i&&/a& 绝对会是最好的帮手,能解答你许多疑问。主要内容都有中文翻译 &a href=&///?target=http%3A///manual-zh/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MongoDB 中文文档&i class=&icon-external&&&/i&&/a&。不夸张地说,80% 的疑问都可以很容易在文档里找到答案。&/p&&p&这个时候,你可能会遇到问题,需要帮助。加入 &a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MongoDB中文社区&i class=&icon-external&&&/i&&/a&,你需要的同路人都在这里。中文社区在最新两年建立起来,帮助翻译了中文文档,也欢迎你加入翻译的队伍。社区里包括了国内各大公司的用户,不时举办 MongoDB User Group &a href=&///?target=http%3A///user-groups& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&线下用户组&i class=&icon-external&&&/i&&/a&,现在在北京、上海、重庆、深圳和杭州都有不定期活动。社区邀请 MongoDB 的大牛们做技术讲座,答疑解惑,也提供一个机会让大家互相结识,拓宽社交圈子。&a href=&///?target=http%3A///webinar_cn& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&中文在线讲座&i class=&icon-external&&&/i&&/a& 则会由
MongoDB 的官方工程师和资深架构师带来最权威的内容。我也做过一次在线讲座,讨论 Replica Set 复制集的内部机制。印象最深的是大家的提问特别热情,Q&A 环节时间根本不够用。月的中文讲座 &a href=&///?target=http%3A///event/2016/back-to-basics-webinar-2-your-first-mongodb-application& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&你的第一个MongoDB应用&i class=&icon-external&&&/i&&/a& 也特别适合入门。加入中文社区首页上的微信公众号吧,第一时间得到通知。&/p&&p&希望在社区里提问?中国区同事积极活跃在 segmentfault 问答中的 MongoDB 标签下,那是中文社区里提问的好地方。遇到问题还可以到 stackoverflow 看看,官方的 Google Group 也有专人负责。在公司最初的四年里,CTO 每天都亲自在 Google Group 上回答问题,而且基本秒回。从那时开始,重视开发者社区作为一个传统一直到了今天。市面上有一些书也很好,比如《MongoDB权威指南》,不过书很容易过时。&/p&&h2&&b&实战&/b&&/h2&&p&首先要重磅推荐 MongoDB 自己开发的数据库托管服务 &a href=&///?target=https%3A///cloud& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MongoDB Atlas&i class=&icon-external&&&/i&&/a&!依靠 Amazon AWS,部署和管理 MongoDB 不能更方便!2017年最新推出了&b&免费款机型&/b&,512MB 磁盘空间,共享CPU和内存,特别容易上手。&/p&&p&过了一段时间,你使用 MongoDB 的项目已经开始开发,或者已经上线了,遇到了新问题。可能你会需要:&/p&&ol&&li&&b&咨询&/b&。MongoDB 公司提供咨询服务 &a href=&///?target=https%3A///products/consulting& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Global Consulting Services&i class=&icon-external&&&/i&&/a&,帮你优化架构设计方案。&/li&&li&&b&运维&/b&。你的项目越来越火,运维开始成了新问题。&a href=&///?target=https%3A///cloud/cloud-manager& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MongoDB Cloud Manager&i class=&icon-external&&&/i&&/a& 提供监控和备份。&/li&&li&&b&托管&/b&。2016 年推出的 Database as a Service 数据库即服务 &a href=&///?target=https%3A///cloud& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MongoDB Atlas&i class=&icon-external&&&/i&&/a& 依靠 AWS 让整个运维都变简单。&/li&&li&&b&可视化&/b&。MongoDB Compass 是 MongoDB 官方开发的数据可视化工具,好评不断。&/li&&li&&b&认证。&/b&包括针对开发者和 DBA 的两种认证考试。在中国区众多用户中,大概只有10名左右工程师成功获得认证,可见其中含金量。 &/li&&/ol&&p&云计算方面,国外 AWS,Azure 和 Google Cloud 都有各种合作和整合。国内的话,阿里云和腾讯云都支持 MongoDB,他们的团队也在社区里做了很多贡献,技术实力有目共睹。&/p&&p&遇到问题,你的团队可能需要更专业、更及时的帮助,&b&&a href=&///?target=https%3A///products/mongodb-professional& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MongoDB Professional&i class=&icon-external&&&/i&&/a& 客户支持&/b&是 MongoDB 公司最早开展的服务。我们开发工程师每几个月就要到客户支持部门轮岗,为了更好地了解用户。我的感觉就是客服绝不只是关掉一个 ticket,而是门大学问。在时间限制里尽快地找到用户问题,提出解决方案,就像急救室的医生一样,背后有完善的流程和深厚的技术积累。个别问题也会很快升级到开发工程师那里,毕竟我们就坐在不远的地方。自己写的代码哪里有搞不定的道理?用户也是普通人,会高兴会生气,也会力不能及,所以理解客户和技术精通一样重要。对了,他们也提供中文服务。&/p&&p&这篇文章毕竟不是广告,就不提大公司用的商业版和相应的服务了。我总觉得工程师和 DBA 时间那么值钱,不应该花在找免费资源和“在线等”好心人解答问题上,毕竟还有技术理想等着去实现呢。介绍 MongoDB 的产品和服务,就像健身建议请个教练一样,少走些弯路。&/p&&h2&&b&出发!&/b&&/h2&&p&现在就从免费在线课程 &a href=&///?target=https%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MongoDB University&i class=&icon-external&&&/i&&/a& 和免费数据库托管 &a href=&///?target=https%3A///cloud& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MongoDB Atlas&i class=&icon-external&&&/i&&/a& 开始吧,我们在 &a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MongoDB中文社区&i class=&icon-external&&&/i&&/a& 里等着你!&/p&
入门当然是 MongoDB 公司推出的免费在线课程 。这是关于 MongoDB 最好的在线教程,没有之一,权威、系统并且更新及时。可以告诉你的是,MongoDB 新入职员工培训都从这些在线课程开始。 比其它地方能找到的文章和教程要…
你们所说的什么要怎样数据分析、爬虫、Web 等,在我看来那不是精通 Python,而是精通某一领域,抛开 Python 换用另一门语言也可,在我看来,精通 Python 语言大约需要如下这些步骤(个人愚见,不服你奈我何~~~):&br&&br&------------------------&br&&b&level 1:了解基本语法&/b&&br&这是最容易的一级,掌握了 Python 的基本语法,可以通过 Python 代码实现常用的需求,不管代码质量怎么样。这部分内容,可以参考:&a href=&///?target=https%3A//docs.python.org/2/tutorial/index.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&The Python Tutorial&i class=&icon-external&&&/i&&/a&。&br&&br&------------------------&br&&b&level 2:熟练使用常用的库&/b&&br&&ul&&li&熟悉常用 standard library 的使用,包括但不限于 copy / json / itertools / collections / hashlib / os / sys 等,这部分内容,可以参考:&a href=&///?target=https%3A//docs.python.org/2/library/index.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&The Python Standard Library&i class=&icon-external&&&/i&&/a&。&/li&&li&熟悉常用的第三方库,这就根据每个人不同的用法而有所不同了,但是一定要掌握你所常用的那个领域里的第三方库。 &/li&&/ul&&br&------------------------&br&&b&level 3:Pythonic&/b&&br&这一级别比上一级别稍难,但是还是可以轻松达到。所谓 Pythonic,就是相比其它语言,Python 可以通过更加优雅的实现方式(不管是语法糖还是什么),比如(包括但不限于) with、for-else、try-else、yield 等。&br&另外你还需要掌握这些所谓魔法的实现原理,了解 Python 在语法层面的一些协议,可以自己实现语法糖。如 with 的实现方式(上下文管理器)等。&br&达到这一级,你的代码可以看起来很漂亮了。这部分内容,可以参考:&br&&ul&&li&&a href=&///?target=https%3A//docs.python.org/2/reference/index.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&The Python Language Reference&i class=&icon-external&&&/i&&/a&&br&&/li&&li&&a href=&///?target=https%3A//docs.python.org/2/howto/index.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python HOWTOs&i class=&icon-external&&&/i&&/a&&br&&/li&&/ul&&br&------------------------&br&&b&level 4:高级玩法&/b&&br&掌握 Python 的内存机制、GIL 限制等,知道如何改变 Python 的行为,可以轻松写出高效的优质的 Python 代码,能够轻松分辨不同 Python 代码的效率并知道如何优化。&br&&br&------------------------&br&&b&level 5:看透本质&/b&&br&阅读 Python 的 C 实现,掌握 Python 中各种对象的本质,掌握是如何通过 C 实现面向对象的行为,对于常见的数据结构,掌握其实现细节。到这一步,需要将 Python 源码学习至少一遍,并对关键部分有较深层次的理解。&br&&br&------------------------&br&&b&level 6:手到拈来,一切皆空&/b&&br&不可说,不必说~&br&&br&&br&&br&--------------------- 以下为补充说明 ---------------------------&br&看到评论区有朋友误解,这里解释一下。&br&&br&首先,以上步骤&b&并不是打怪升级&/b&,不存在到了一级再去第下一级,你完全可以在熟练标准库的过程中掌握语言的实现原理等,这并不矛盾。所以那些评论说「我已经 xx 级了, xx 时候要到 xx 级」的朋友们,希望不要误解了我的意思,你不必将自己限制死,而可以很灵活的变通。&br&&br&另外题干中的「招聘要求写着“精通 Python 语言”」,对于这样的招聘要求,绝大多数其实是 HR 脑残(不排除少部分公司真的有特殊需求),一般面对这样的公司我会选择绕道而行。既然是找工作,还是要找自己满意且公司本身很不错的,人生苦短,何必跟自己过不去呢?说到这里,我看知乎的招聘岗位中(&a href=&/careers& class=&internal&&知乎招聘&/a&),貌似没有出现「精通」二字,自认技术高超的小伙伴可以去试试看哟~~~&br&&br&最后,希望各位不要被某些答案「不需要精通 xx 语言」这样的言论干扰,编程语言有很多相似的地方,个人觉得掌握一门语言的底层实现,对自身的编程水平提升是很有帮助的。但是要搞清楚,仅仅编程语言是不够的,如何使用一门编程语言做有趣的事情,这很重要。
你们所说的什么要怎样数据分析、爬虫、Web 等,在我看来那不是精通 Python,而是精通某一领域,抛开 Python 换用另一门语言也可,在我看来,精通 Python 语言大约需要如下这些步骤(个人愚见,不服你奈我何~~~): ------------------------ level 1:了解…
&img src=&/v2-c91f80be83bc16c61f295_b.png& data-rawwidth=&558& data-rawheight=&276& class=&origin_image zh-lightbox-thumb& width=&558& data-original=&/v2-c91f80be83bc16c61f295_r.png&&&p&&b&这两日整理了很多编程方面的资料:教学视频、书籍资源以及实战项目全部放在了百度网盘里,资源的目录以及获取方式都放在了文末的图上,你可以直接翻至文末查看。&/b&&/p&&p&有过面试经历的人都知道操作系统是面试官必问的几大类型题目之一,在上一期我们已经更新另一大板块的题目&a class=&internal& href=&/p/?refer=passer&&常见面试题整理--数据库篇 &/a&&/p&&p& 这一期文章,我们将继续更新操作系统相关的面试题,希望可以给需要面试的、准备面试的同学一些帮助。&img data-rawheight=&276& data-rawwidth=&558& src=&/v2-c91f80be83bc16c61f295_b.png& class=&origin_image zh-lightbox-thumb& width=&558& data-original=&/v2-c91f80be83bc16c61f295_r.png&&&/p&&p&(一)请分别简单说一说进程和线程以及它们的区别。&/p&&ul&&li&进程是具有一定功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源调度和分配的一个独立单位。&/li&&li&线程是进程的实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。&/li&&li&一个进程可以有多个线程,多个线程也可以并发执行 &/li&&/ul&&p&如果你对进程或者线程不太熟悉,建议阅读:&a class=& wrap external& href=&/?target=http%3A///blog/2013/04/processes_and_threads.html& target=&_blank& rel=&nofollow noreferrer&&进程与线程的一个简单解释&i class=&icon-external&&&/i&&/a&&br&&/p&&p&(二)线程同步的方式有哪些?&/p&&br&&ul&&li&互斥量:采用互斥对象机制,只有拥有互斥对象的线程才有访问公共资源的权限。因为互斥对象只有一个,所以可以保证公共资源不会被多个线程同时访问。&/li&&li&信号量:它允许同一时刻多个线程访问同一资源,但是需要控制同一时刻访问此资源的最大线程数量。&/li&&li&事件(信号):通过通知操作的方式来保持多线程同步,还可以方便的实现多线程优先级的比较操作。&br&&/li&&/ul&&p&经两位大大的指正,现已删除临界区。感谢:&a class=&member_mention& href=&/people/f8734eaa80bed7a0ddd5396faba9678d& data-hash=&f8734eaa80bed7a0ddd5396faba9678d& data-hovercard=&p$b$f8734eaa80bed7a0ddd5396faba9678d&&@真姬酱&/a&&a class=&member_mention& href=&/people/6db4cb9efe5961daa708ed& data-hash=&6db4cb9efe5961daa708ed& data-hovercard=&p$b$6db4cb9efe5961daa708ed&&@安阳&/a&&br&&/p&&p&如果你对线程同步的方式不太熟悉,建议阅读:&a class=& wrap external& href=&/?target=http%3A///lebronjames/archive//1797702.html& target=&_blank& rel=&nofollow noreferrer&&线程同步的几种方式&i class=&icon-external&&&/i&&/a&&/p&&p&(三)进程的通信方式有哪些?&/p&&p&主要分为:管道、系统&b&IPC&/b&(包括消息队列、信号量、共享存储)、&b&SOCKET&/b&&br&&/p&&p&管道主要分为:普通管道&b&PIPE &/b&、流管道(&b&s_pipe&/b&)、命名管道(&b&name_pipe&/b&)&/p&&ul&&li&管道是一种半双工的通信方式,数据只能单项流动,并且只能在具有亲缘关系的进程间流动,进程的亲缘关系通常是父子进程&/li&&li&命名管道也是半双工的通信方式,它允许无亲缘关系的进程间进行通信&/li&&li&信号量是一个计数器,用来控制多个进程对资源的访问,它通常作为一种锁机制。&/li&&li&消息队列是消息的链表,存放在内核中并由消息队列标识符标识。&/li&&li&信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。&/li&&li&共享内存就是映射一段能被其它进程访问的内存,这段共享内存由一个进程创建,但是多个进程可以访问。&br&&/li&&/ul&&p&如果你对进程的通信方式不太熟悉,建议阅读: &a class=& wrap external& href=&/?target=http%3A//blog.csdn.net/yufaw/article/details/7409596& target=&_blank& rel=&nofollow noreferrer&&进程间的几种通信方式 &i class=&icon-external&&&/i&&/a&&/p&&p&(四)什么是缓冲区溢出?有什么危害?其原因是什么?&/p&&p&缓冲区溢出是指当计算机向缓冲区填充数据时超出了缓冲区本身的容量,溢出的数据覆盖在合法数据上。 &/p&&p&危害有以下两点:&/p&&ul&&li&程序崩溃,导致拒绝额服务&/li&&li&跳转并且执行一段恶意代码&/li&&/ul&&p&造成缓冲区溢出的主要原因是程序中没有仔细检查用户输入。 &br&&/p&&p&如果你想深入了解缓冲区溢出,推荐阅读:&a class=& wrap external& href=&/?target=http%3A///fanzhidongyzby/archive//3250405.html& target=&_blank& rel=&nofollow noreferrer&&缓冲区溢出攻击&i class=&icon-external&&&/i&&/a&&/p&&p&(五)什么是死锁?死锁产生的条件?&/p&&p&在两个或者多个并发进程中,如果每个进程持有某种资源而又等待其它进程释放它或它们现在保持着的资源,在未改变这种状态之前都不能向前推进,称这一组进程产生了死锁。通俗的讲就是两个或多个进程无限期的阻塞、相互等待的一种状态。&/p&&p& 死锁产生的四个条件(有一个条件不成立,则不会产生死锁)&/p&&ul&&li&互斥条件:一个资源一次只能被一个进程使用&/li&&li&请求与保持条件:一个进程因请求资源而阻塞时,对已获得资源保持不放&/li&&li&不剥夺条件:进程获得的资源,在未完全使用完之前,不能强行剥夺&/li&&li&循环等待条件:若干进程之间形成一种头尾相接的环形等待资源关系 &br&&/li&&/ul&&p&如果对死锁还不是太熟悉,建议阅读:&a class=& wrap external& href=&/?target=http%3A///Jessy/p/3540724.html& target=&_blank& rel=&nofollow noreferrer&&死锁产生的原因和解锁的方法&i class=&icon-external&&&/i&&/a&&/p&&p&(六)进程有哪几种状态?&/p&&ul&&li&就绪状态:进程已获得除处理机以外的所需资源,等待分配处理机资源&/li&&li&运行状态:占用处理机资源运行,处于此状态的进程数小于等于CPU数&/li&&li&阻塞状态: 进程等待某种条件,在条件满足之前无法执行 &br&&/li&&/ul&&p&如果你对进程的几种状态以及中间的装换不太了解,建议阅读:&a class=& wrap external& href=&/?target=http%3A//blog.chinaunix.net/uid--id-3028968.html& target=&_blank& rel=&nofollow noreferrer&&进程的三种状态及转换&i class=&icon-external&&&/i&&/a&&/p&&p&(七)分页和分段有什么区别?&/p&&br&&ul&&li&段是信息的逻辑单位,它是根据用户的需要划分的,因此段对用户是可见的 ;页是信息的物理单位,是为了管理主存的方便而划分的,对用户是透明的。&/li&&li&段的大小不固定,有它所完成的功能决定;页大大小固定,由系统决定&/li&&li&段向用户提供二维地址空间;页向用户提供的是一维地址空间&/li&&li&段是信息的逻辑单位,便于存储保护和信息的共享,页的保护和共享受到限制。&br&&/li&&/ul&&p&如果你对分页和分段还不太了解,建议阅读:&a class=& wrap external& href=&/?target=http%3A//blog.csdn.net/wangrunmin/article/details/7967293& target=&_blank& rel=&nofollow noreferrer&&分段和分页 &i class=&icon-external&&&/i&&/a&&/p&&p&(八) 操作系统中进程调度策略有哪几种?&/p&&p&FCFS(先来先服务),优先级,时间片轮转,多级反馈&/p&&p&如果你想深入的了解这几种调度策略,推荐阅读:&a class=& wrap external& href=&/?target=http%3A//blog.csdn.net/luyafei_89430/article/details/& target=&_blank& rel=&nofollow noreferrer&&几个常用的操作系统进程调度算法 &i class=&icon-external&&&/i&&/a&&br&&/p&&p&(九)说一说进程同步有哪几种机制。&/p&&p&原子操作、信号量机制、自旋锁管程、会合、分布式系统&/p&&p&如果你想深入的了解这几种机制,推荐阅读:&a class=& wrap external& href=&/?target=http%3A///sonic4x/archive//2098036.html& target=&_blank& rel=&nofollow noreferrer&& 进程同步的几种机制 &i class=&icon-external&&&/i&&/a&&/p&&p&(十)说一说死锁的处理基本策略和常用方法。&/p&&p&解决死锁的基本方法如下: &br&&/p&&p&预防死锁、避免死锁、检测死锁、解除死锁 &br&&/p&&p&解决四多的常用策略如下: &br&&/p&&p&鸵鸟策略、预防策略、避免策略、检测与解除死锁 &br&&/p&&p&如果你对死锁的处理策略不是太熟悉,推荐阅读:&a class=& wrap external& href=&/?target=http%3A//blog.csdn.net/bxyill/article/details/8237339& target=&_blank& rel=&nofollow noreferrer&&产生死锁的原因和必要条件+解决死锁的基本方法 &i class=&icon-external&&&/i&&/a&&br&&/p&&p&&b&这两日整理了很多编程方面的资料,希望这些资料可以对你们有些帮助,资料主要包括下图所示的语言范畴,每一个资料都是精心整理的。资料获取步骤如下说明&/b&&/p&&p&&img data-rawheight=&1000& data-rawwidth=&600& src=&/v2-48f4d9cd7e62d677470dcb_b.jpg& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&/v2-48f4d9cd7e62d677470dcb_r.jpg&&本文参考文献和文章:&/p&&p&「1」&a class=& wrap external& href=&/?target=http%3A//blog.csdn.net/youngchang06hpu/article/details/8009947& target=&_blank& rel=&nofollow noreferrer&&操作系统常见面试题总结
youngchang的开发博客&i class=&icon-external&&&/i&&/a&&/p&&p&「2」 &a class=& wrap external& href=&/?target=http%3A///memewry/archive//2656966.html& target=&_blank& rel=&nofollow noreferrer&&操作系统面试题 - iWan&i class=&icon-external&&&/i&&/a&&/p&&p&「3」&a class=& wrap external& href=&/?target=http%3A//blog.csdn.net/yufaw/article/details/7409596& target=&_blank& rel=&nofollow noreferrer&&进程间的几种通信方式 &i class=&icon-external&&&/i&&/a&&/p&&p&「4」&a class=& wrap external& href=&/?target=http%3A//blog.csdn.net/hackbuteer1/article/details/6787354& target=&_blank& rel=&nofollow noreferrer&&操作系统各大公司笔试题汇总 &i class=&icon-external&&&/i&&/a&&/p&&p&「5」&a class=& wrap external& href=&/?target=http%3A//blog.csdn.net/bxyill/article/details/8237339& target=&_blank& rel=&nofollow noreferrer&&解决死锁的基本方法 &i class=&icon-external&&&/i&&/a&&/p&&br&&b&学习编程,欢迎关注专栏:&a href=&/passer& class=&internal&&学习编程 - 知乎专栏&/a&&/b&
这两日整理了很多编程方面的资料:教学视频、书籍资源以及实战项目全部放在了百度网盘里,资源的目录以及获取方式都放在了文末的图上,你可以直接翻至文末查看。有过面试经历的人都知道操作系统是面试官必问的几大类型题目之一,在上一期我们已经更新另一大…
&img src=&/v2-297f8b4ddaeaa12b512c5eb32fb6341c_b.png& data-rawwidth=&656& data-rawheight=&294& class=&origin_image zh-lightbox-thumb& width=&656& data-original=&/v2-297f8b4ddaeaa12b512c5eb32fb6341c_r.png&&&p&希望此文可以长期更新并作为一篇Python的面试宝典。每一道题目都附有详细解答,以及更加详细的回答链接。此篇是代码篇,上一篇是:&a class=&internal& href=&/p/?refer=passer&&Python概念篇 &/a&两者结合效果更佳。
&/p&&p&喜欢听音乐的猿们,欢迎关注我最近新开的专栏:&a class=&internal& href=&/listen&&音乐推荐-知乎专栏&/a&&br&&/p&&p&&img data-rawheight=&294& data-rawwidth=&656& src=&/v2-297f8b4ddaeaa12b512c5eb32fb6341c_b.png& class=&origin_image zh-lightbox-thumb& width=&656& data-original=&/v2-297f8b4ddaeaa12b512c5eb32fb6341c_r.png&&(一)、如何反序的迭代一个序列?&/p&&p&&img data-rawheight=&354& data-rawwidth=&519& src=&/v2-18dfdfdafd765_b.png& class=&origin_image zh-lightbox-thumb& width=&519& data-original=&/v2-18dfdfdafd765_r.png&&(二)、 如何用Python来进行查询和替换一个文本字符串?&/p&&p&&img data-rawheight=&289& data-rawwidth=&730& src=&/v2-c7efe5fb9b8ed0ba606782aace195117_b.png& class=&origin_image zh-lightbox-thumb& width=&730& data-original=&/v2-c7efe5fb9b8ed0ba606782aace195117_r.png&&(三)、使用Python实现单例模式。&/p&&p&所谓单例就是一个类从始至终只能产生一个实例。&/p&&p&方法一:使用&b&__new__&/b&方法&/p&&p&在&b&__new__&/b&方法中把类实例绑定到类变量&b&_instance&/b&上,如果&b&cls._instance&/b&为&b&None&/b&表示该类还没有实例化过,实例化该类并返回。如果&b&cls_instance&/b&不为&b&None&/b&表示该类已实例化,直接返回&b&cls_instance&/b&&/p&&img data-rawheight=&503& data-rawwidth=&768& src=&/v2-ef8f476aeeb94b7ff43bf75_b.png& class=&origin_image zh-lightbox-thumb& width=&768& data-original=&/v2-ef8f476aeeb94b7ff43bf75_r.png&&&p&方法二:使用装饰器&b&(decorator)&/b&&/p&&p&&img data-rawheight=&526& data-rawwidth=&616& src=&/v2-1e3fb4ae8d3bac0e80dc670_b.png& class=&origin_image zh-lightbox-thumb& width=&616& data-original=&/v2-1e3fb4ae8d3bac0e80dc670_r.png&& 方法三:使用&b&__metaclass__&/b&(元类)&img data-rawheight=&479& data-rawwidth=&876& src=&/v2-749854eda89f7ec68a1d18cb8af319fb_b.png& class=&origin_image zh-lightbox-thumb& width=&876& data-original=&/v2-749854eda89f7ec68a1d18cb8af319fb_r.png&&&/p&&p&方法四:共享属性&/p&&p&所谓单例就是所有的引用(实例,对象)拥有相同的属性和方法,同一个类的实例天生都会有相同的方法,那我们只需要保证同一个类所产生的实例都具有相同的属性。所有实例共享属性最简单直接的方法就是共享&b&__dict__&/b&属性指向。&/p&&img data-rawheight=&535& data-rawwidth=&617& src=&/v2-b4b7fe9c82ec6fdd86f8f1e93e125751_b.png& class=&origin_image zh-lightbox-thumb& width=&617& data-original=&/v2-b4b7fe9c82ec6fdd86f8f1e93e125751_r.png&&&p&方法五:Python模板&/p&&p&&img data-rawheight=&212& data-rawwidth=&410& src=&/v2-e44aee8bb6ccac3faeb0adffd5387483_b.png& class=&content_image& width=&410&& (四)、重新实现str.strip(),注意不能使用string.*strip()&/p&&p&&img data-rawheight=&506& data-rawwidth=&727& src=&/v2-253b18f0acd_b.png& class=&origin_image zh-lightbox-thumb& width=&727& data-original=&/v2-253b18f0acd_r.png&&(五)、 阅读下面的代码,它的输出结果是什么?(&b&super&/b&)&/p&&p&&img data-rawheight=&543& data-rawwidth=&683& src=&/v2-9d4cc1a5b51bed1aaabff3a_b.png& class=&origin_image zh-lightbox-thumb& width=&683& data-original=&/v2-9d4cc1a5b51bed1aaabff3a_r.png&&想要更佳详细的了解有关于&b&super&/b&,点击这里:&a href=&/?target=http%3A///lovemo1314/archive//2035005.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&python super() - 漩涡鸣人 - 博客园&i class=&icon-external&&&/i&&/a&&br&&/p&&p&(六)、Python的函数参数传递&/p&&p&&img data-rawheight=&311& data-rawwidth=&246& src=&/v2-719bb6fba27b150e_b.png& class=&content_image& width=&246&&关于以上代码:&b&Python&/b&中&b&string、tuple、number&/b&属于不可更改对象,而&b&list&/b&和&b&dict&/b&属于可修改对象。&/p&&p&(七)、类变量和实例变量&/p&&p& 类变量就是供给类使用的变量,实例变量就是供给实例使用的变量。看以下代码&/p&&ul&&li&上半部分:&b&name&/b&是字符串(不可更改对象),实例变量&b&p1.name&/b&一开始指向了类变量&b&name=&aaa&&/b&,但是在实例的作用域把类变量的引用改变了,就变成了一个实例变量&b&self.name&/b&不再引用&b&Person&/b&的类变量&b&name &/b&&/li&&li&下班部分:&b&name&/b&是&b&list&/b&(可更改对象)&/li&&/ul&&p&&img data-rawheight=&553& data-rawwidth=&420& src=&/v2-cdf220325fff67ffca56aa_b.png& class=&content_image& width=&420&&(八)、Python在函数式编程方面的支持。&/p&&p&方面一:&b&lambda&/b&表达式:体现原理就是&b&python&/b&允许&b&lambda&/b&关键字创建匿名函数,所谓匿名就是&b&python&/b&不会创建名称空间,&b&lambda&/b&表达式返回可调用的函数对象,这些都符合函数式编程的思想。&/p&&p&方面二:内建函数:&b&filter()、reduce()、map() &/b&&/p&&p&&img data-rawheight=&190& data-rawwidth=&548& src=&/v2-e0f3dcb7cc3b2d9f1445_b.png& class=&origin_image zh-lightbox-thumb& width=&548& data-original=&/v2-e0f3dcb7cc3b2d9f1445_r.png&&有关于三个内建函数的详细解答,请点击这里:&a class=& wrap external& href=&/?target=http%3A///BeginMan/p/3509985.html& target=&_blank& rel=&nofollow noreferrer&&Python 函数式编程 - BeginMan - 博客园&i class=&icon-external&&&/i&&/a&&br&&/p&&p&(九)、 以下代码将输出什么?(考察&b&list&/b&)&/p&&p&&img data-rawheight=&118& data-rawwidth=&307& src=&/v2-b0e0a3b5ab9_b.png& class=&content_image& width=&307&&可能你会问:why?为什么它没有报错:是的,它不会报错。试图访问一个列表的以超出列表成员数作为开始索引的切片将不会导致&b&IndexError&/b&,并且仅仅返回一个空&b&list&/b&&/p&&p&(十)、 以下代码将输出什么?(考察)&/p&&p&&img data-rawheight=&260& data-rawwidth=&542& src=&/v2-3de52a73ace8_b.png& class=&origin_image zh-lightbox-thumb& width=&542& data-original=&/v2-3de52a73ace8_r.png&&这个原因是Python的闭包的后期绑定导致的&b&late binding&/b&。这意味着在闭包中的变量是在内部函数被调用的时候被查找。所以结果是,当任何的&b&testFun()&/b&返回的函数被调用,在那时,i的值是在它被调用时的周围作用域中查找,到那时,无论哪个返回的函数被调用,for循环已经完成,i的最后值是3,因此每个返回的函数&b&testFun&/b&的值都是3。&/p&&p&更详细的解答可以看这里:&a href=&/question/& class=&internal&&Python中后期绑定(late binding)是什么意思?&/a&&br&&/p&&p&本文参考文献资料:&/p&&p&「1」&a class=& wrap external& href=&/?target=http%3A//blog.csdn.net/alvine008/article/details/& target=&_blank& rel=&nofollow noreferrer&&七、PYTHON 一些基础面试题目总结&i class=&icon-external&&&/i&&/a&&/p&&p&「2」&a class=& wrap external& href=&/?target=http%3A///blog/1562618& target=&_blank& rel=&nofollow noreferrer&&Python单例模式的4种实现方法&i class=&icon-external&&&/i&&/a&&/p&&p&「3」&a class=& wrap external& href=&/?target=http%3A//blog.csdn.net/soft_lawrency/article/details/8638360& target=&_blank& rel=&nofollow noreferrer&&python 面试题 - 知识点整理&i class=&icon-external&&&/i&&/a&&/p&&p&「4」&a class=& wrap external& href=&/?target=http%3A///85231/& target=&_blank& rel=&nofollow noreferrer&&很全的 Python 面试题 - Python - 伯乐在线&i class=&icon-external&&&/i&&/a&&/p&&p&「5」&a class=& wrap external& href=&/?target=http%3A///BeginMan/p/3509985.html& target=&_blank& rel=&nofollow noreferrer&&Python 函数式编程 - BeginMan - 博客园&i class=&icon-external&&&/i&&/a&&/p&&br&&b&学习编程,欢迎关注专栏:&a href=&/passer& class=&internal&&学习编程 - 知乎专栏&/a&&/b&
希望此文可以长期更新并作为一篇Python的面试宝典。每一道题目都附有详细解答,以及更加详细的回答链接。此篇是代码篇,上一篇是:两者结合效果更佳。 喜欢听音乐的猿们,欢迎关注我最近新开的专栏: (一)、如何反序的迭代…
最近开始系统的学习Python,以及整理的一些资料。github记录着个人自学 Python 的过程,持续更新。欢迎大家一起来完善这个自学Python学习的项目,给后来者一个参考的学习过程。&br&github项目地址:&a href=&///?target=https%3A///shfanzie/Systematically_self-study_Python& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&shfanzie/Systematically_self-study_Python&i class=&icon-external&&&/i&&/a&&br&&br&如何系统地自学 Python ?&p&网上 Google 、百度文章一大把,不知道从何学起,只会使初学者更加的迷惑。首先,我推荐一篇 &a href=&/people/happlex& class=&internal&&彭猫&/a& 在知乎上的回答:&a href=&/question//answer/& class=&internal&&如何系统地自学 Python ?&/a&希望能给大家一个系统地学习Python有点帮助。&/p&&p&知乎上聚集着非常多的程序员,你能找到各种条目的词条。例如:&a href=&/topic/& class=&internal&&Python&/a& 词条下面的索引也能给你学习上很大的帮助。当然,遇到不懂的技术细节 Google 或者 stackoverflow 上去搜索相关的解决方案,以及参考维基百科的词条。&/p&&br&学习框架:&p&3W:why、what、how。你为什么要学习 Python,以及 Python 能干什么,那么怎么去学习 Python ? Python 可以让你做很多事情,科学计算和数据分析、爬虫、Web 网站、游戏、命令行实用工具等,以上列举的总有一种是你学习Python感兴趣的吧!&/p&1、入门&ul&&li&学习 Python 的语法知识、算法和数据结构、编程范式等。&/li&&li&&p&学习 Python 的语法技巧、类库的使用、IDE使用等。&/p&&p& (持续更新中···)&/p&&/li&&/ul&2、进阶&ul&&li&&p&利用 Python 结合专业知识解决具体的实际问题。&/p&&p&(持续更新中···)&/p&&/li&&/ul&3、深入&ul&&li&&p&了解 Python 的“内核”,也就是分析 Python 的源代码。&/p&&p&(持续更新中···)&/p&&/li&&/ul&&br&MORE:&ul&&li&&p&&a href=&///?target=http%3A///course/list%3Fc%3Dpython& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&慕课网视频教程&i class=&icon-external&&&/i&&/a&&/p&&/li&&li&&p&&a href=&///?target=http%3A///82399/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python 初学者的最佳学习资源&i class=&icon-external&&&/i&&/a&&/p&&/li&&li&&p&&a href=&/p/?refer=it1024& class=&internal&&Python 学习资料总结&/a&&/p&&/li&&li&&p&&a href=&///?target=http%3A///article/python-ecosystem-introduction/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&一篇文章入门 Python 生态系统&i class=&icon-external&&&/i&&/a&&/p&&/li&&li&&p&&a href=&///?target=http%3A//xianglong.me/article/how-to-code-like-a-pythonista-idiomatic-python/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&如何像 Python 高手( Pythonista )一样编程&i class=&icon-external&&&/i&&/a&&/p&&/li&&li&&p&&a href=&///?target=https%3A///2/contents.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python Module of the Week&i class=&icon-external&&&/i&&/a&&/p&&/li&&li&&p&&a href=&///?target=http%3A///table-of-contents.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Full Stack Python&i class=&icon-external&&&/i&&/a&&/p&&/li&&li&&p&&a href=&///?target=https%3A///justjavac/free-programming-books-zh_CN& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费的计算机编程类中文书籍&i class=&icon-external&&&/i&&/a&:一个免费的编程中文书籍索引,你可查看 Python 下的经典书籍。&/p&&/li&&li&&p&&a href=&/p/?columnSlug=xiao-jing-mo& class=&internal&&@萧井陌:编程入门指南 v1.5&/a&:本指南更多讲的是学习中多问几个 Why,深入了解其背后的技术细节等。&/p&&/li&&/ul&&p&最后引用【彭猫】的话:每个人学编程的道路都是不一样的,其实大都殊途同归,没有迷路的人只有不能坚持的人。虽然听上去有点鸡汤,但是这是事实。&/p&&br&&br&Funny Things:&ul&&li&&p&&a href=&/p/& class=&internal&&教你阅读 Python 开源项目代码&/a&&/p&&/li&&li&&p&&a href=&/p/?refer=passer& class=&internal&&有哪些适合新手练手的 Python 项目?&/a&&/p&&/li&&li&&p&&a href=&/question/& class=&internal&&可以用 Python 编程语言做哪些神奇好玩的事情?&/a&&/p&&/li&&li&&p&&a href=&/question//answer/& class=&internal&&Python 的练手项目有哪些值得推荐?Wayne Shi的回答&/a&&/p&&/li&&li&&p&&a href=&/question//answer/& class=&internal&&Python 的练手项目有哪些值得推荐?小小搬运工的回答&/a&&/p&&/li&&/ul&&br&Python参考学习资料:&ul&&li&&a href=&///?target=https%3A//learnpythonthehardway.org/book/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&笨办法学 Python&i class=&icon-external&&&/i&&/a&&a href=&///?target=http%3A///kancloud/learn-python-hard-way/49863& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&中文版&i class=&icon-external&&&/i&&/a&:这本书在讲解 Python 的语法成分时,还附带大量可实践的例子,非常适合快速起步。&/li&&li&&a href=&///?target=http%3A///vamei/archive//2682778.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python 快速教程-Vamei 的博客&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A///wiki/095c955c1e6d8bbfac& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&廖雪峰 Python 2.7 中文教程&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A///wiki/958fa6d3a2e542c000& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&廖雪峰 Python 3 中文教程&i class=&icon-external&&&/i&&/a&:Python 中文教程的翘楚,专为刚刚步入程序世界的小白打造。&/li&&li&&a href=&///?target=http%3A//pythonguidecn.readthedocs.io/zh/latest/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python 最佳实践指南&i class=&icon-external&&&/i&&/a&:这本指南着重于 Python 的最佳实践,不管你是 Python 专家还是新手,都能获得极大的帮助。&/li&&li&&a href=&///?target=https%3A//docs.python.org/2/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python 官方文档2.7&i class=&icon-external&&&/i&&/a&&a href=&///?target=https%3A//docs.python.org/3/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&3.5&i class=&icon-external&&&/i&&/a&:实践中大部分问题,都可以在官方文档中找到答案。&/li&&li&&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Awesome Python&i class=&icon-external&&&/i&&/a&:这里列出了你在尝试解决各种实际问题时,Python 社区已有的工具型类库。&/li&&li&&a href=&///?target=http%3A///abyteofpython_cn/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&简明 Python 教程&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A///kancloud/python-basic& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&零基础学 Python 第一版&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A///kancloud/starter-learning-python& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&零基础学 Python 第二版&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=https%3A///ebook//& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&知乎周刊·编程小白学Python&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A//lovelypython.readthedocs.org/en/latest/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&可爱的 Python&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=https%3A//wizardforcel.gitbooks.io/core-python-2e/content/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python 核心编程 第二版&i class=&icon-external&&&/i&&/a& CPyUG译&/li&&li&&a href=&///?target=https%3A///book/wizardforcel/python-essential-tutorial/details& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python 精要教程&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A///pythontutorial27/index.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python 2.7 官方教程中文版&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A///pythontutorial3/index.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python 3.3 官方教程中文版&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A///thinkphp/python-cookbook& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python Cookbook 中文版&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=https%3A///yidao620c/python3-cookbook& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python3 Cookbook 中文版&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=https%3A///carfly/thinkpython-cn& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Think Python&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=https%3A///bingjin/ThinkPython2-CN& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Think Python 2ed&i class=&icon-external&&&/i&&/a&&a href=&///?target=http%3A///books/thinkpython2/index.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&中文版&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A//wiki./Python%25E6%25AD%25A3%25E5%E8%25A1%25A8%25E8%25BE%25BE%25E5%25BC%258F%25E6%E4%25BD%259C%25E6%258C%%258D%2597& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python 正则表达式操作指南&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=https%3A///book/eastlakeside/interpy-zh/details& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python进阶&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A///docs/diveintopythonzh-cn-5.4b/html/toc/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&深入 Python&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A//old.sebug.net/paper/books/dive-into-python3/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&深入 Python 3&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=https%3A///cundi/Mastering.Python.Design.Patterns& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&精通 Python 设计模式&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=https%3A///smartFlash/pySecurity& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&python 安全编程教程&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=https%3A///book/wizardforcel/sjtu-cs902-courseware/details& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&程序设计思想与方法&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A//old.sebug.net/paper/books/python/%25E3%APython%25E6%25A0%%E5%25BA%%E4%25B8%25AD%25E6%E7%.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python 标准库 中文版&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=https%3A///p/zhong-wiki/wiki/PEP8& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&PEP8 Python代码风格规范&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A//zh-google-styleguide.readthedocs.org/en/latest/google-python-styleguide/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Google Python 风格指南 中文版&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=https%3A///book/likebeta/twisted-intro-cn/details& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Twisted 与异步编程入门&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A//textgrocery.readthedocs.org/zh/latest/index.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&TextGrocery 中文 API&i class=&icon-external&&&/i&&/a& ( 基于svm算法的一个短文本分类 Python 库 )&/li&&li&&a href=&///?target=http%3A//requests-docs-cn.readthedocs.org/zh_CN/latest/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Requests: HTTP for Humans&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A//pillow-cn.readthedocs.org/en/latest/%23& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Pillow 中文文档&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A//pymotwcn.readthedocs.org/en/latest/index.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&PyMOTW 中文版&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A//fabric

我要回帖

更多关于 dnf黄金洞穴怎么搬砖 的文章

 

随机推荐