以我的亲身经历,聊聊学python的流程,同时推荐学python的书
<p> 因为干活要用到,所以我大概于19年5月开始学python,大概学了1个月后,我就能干公司的活了,而且这python项目还包含了机器学习等要素,大概3个月后,我还承担了项目里开发机器学习数据分析的任务。所以我感到,虽然python里包含了爬虫、机器学习和数据分析等热门要素,但python并不难学,而且如果方法得当,学到能干项目的程度也很快。在这篇文章里,就讲给出我学Python的流程,向大家展示如何高效学python。</p><h2>1 搭建开发环境</h2>
<p> 由于我有学java的基础,所以我知道首先得搭建开发环境,当时我是用eclipse+Python解释器+pydev插件搭的环境,当时我还用的是3.4解释器,当然现在解释器似乎到3.9了,我也用Pycharm集成开发环境了。</p>
<p> 如果大家现在要学python,建议用如下的步骤搭建环境。</p>
<p> 1. 到官网上去下载python解释器,并安装</p>
<p> 这个是官网,https://www.python.org/downloads/windows/,在这里大家可以选择最新的版本,并根据你机器的操作系统,下载windows或linux或mac的版本,我下载的是windows版本。下载后按提示即可完成安装。</p>
<p> python是解释型语言,所以下载并安装解释器后,就能在你本地运行python语言了。</p>
<p> 2. 安装pycharm集成开发环境</p>
<p> 安装好python解释器以后,理论上你就可以通过命令行的方式,开发并运行python程序了。但这很不方便,所以建议再到https://www.jetbrains.com/pycharm/download/ 这个网站去下载并安装pycharm集成开发环境。</p>
<p> 3. 安装第三方包</p>
<p> 当安装好python解释器后,该解释器会自带一些比较基本的依赖包,但如果要开发机器学习或数据分析等程序,就需要安装第三方包,比如后文提到的numpy等。</p>
<p> 我安装第三方包的做法是,在命令窗口,通过cd等命令,进入到Python解释器所在的路径,比如C:\Users\think\AppData\Local\Programs\Python\Python37,在该路径里,再进入Scripts路径,找到pip3命令,随后通过pip3 install 包名的方式,安装第三方包,比如要安装numpy包,对应的命令是pip3 install numpy。</p>
<p> 至此就搭好了开发环境。</p>
<h2>2 搭建开发环境时遇到的坑</h2>
<p> 我在搭建开发环境时遇到过两个坑,第一是换源,第二是在pycharm里找到对应的解释器。</p>
<p><strong> 什么叫换源?</strong></p>
<p> 在用pip3 install numpy等命令安装第三方库的时候,默认似乎是到国外网站去下载,这样如果遇到包比较大,而且网络不好的情况下,下载会比较困难,所以可以用如下-i参数,指定下载第三方报道的源。</p>
<p> pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualen</p>
<p> 这里-i参数后https://pypi.tuna.tsinghua.edu.cn/simple指定的是清华源,而virtualen则是待下载的第三方包,这样就能以比较快的方式下载并安装第三方包。</p>
<p> <strong>在pycharm里确定解释器</strong></p>
<p> 我在这块搞了很久,后来我在培训班里带同学入门python时,发现初学者经常在这里犯错误。</p>
<p> 我们知道,pycharm会自带python解释器。</p>
<p><img src="https://img2020.cnblogs.com/blog/1226172/202101/1226172-20210122112126252-290559744.png" alt="" width="733" height="162" loading="lazy"></p>
<p> 但这个解释器版本未必是我们预期的,所以我们还会再装其它的解释器。问题就在这里,<strong>安装的第三方包是跟着解释器的</strong>。</p>
<p> 比如我们在pycharm自带的3.8解释器里安装了若干第三方包,但如果切换到自己装的3.9python解释器里,这些第三方包就会全部变掉。</p>
<p> 比如当我们切换解释器后,发现第三方包全变了。</p>
<p><img src="https://img2020.cnblogs.com/blog/1226172/202101/1226172-20210122112603824-564360904.png" alt="" width="749" height="405" loading="lazy"></p>
<p> 所以在安装第三方包时,一定得注意,要到选中解释器,比如3.9这个解释器的目录里,运行其中的pip3命令,这样就能为特定的解释器安装包。 </p>
<h2>3 通过敲代码熟悉语法</h2>
<p> Python入门书其实都差不多,我当时用的是这本。入门书不用多,运行通一本书里的语法代码即可。</p>
<p><img src="https://img2020.cnblogs.com/blog/1226172/202101/1226172-20210122105230959-1711191577.png" alt="" width="276" height="320" loading="lazy"> </p>
<p> Python的基本语法包括:分支循环,集合(列表字典元组等),面向对象(类和继承等),文件读写和异常处理,这些语法点,运行通一遍,基本就能了解了,在开始学习阶段,不用太多地深入。</p>
<p> 如果你编程基础自认为一般,就可以再找本书,比如这本。但基本语法不用多看,运行两本书的代码就足够了。因为Python的重点在于数据分析、爬虫和机器学习等要素。</p>
<p><img src="https://img2020.cnblogs.com/blog/1226172/202101/1226172-20210122121350005-1618760344.png" alt="" width="329" height="370" loading="lazy"></p>
<h2>4 学习数据分析三剑客组件</h2>
<p> 我的项目是用Python进行股票量化分析,不过我观察了下,不管用Python做什么样的应用,数据分析三剑客,比如Numpy,Pandas和Matplotlib这三个库,一般都得掌握。</p>
<p> 我当时看的是这本,其中包含了三剑客的语法和应用没,一般看了一本,然后照着里面的代码运行一遍的话,数据分析这块,应该也能达到能干活的地步了。</p>
<p> <img src="https://img2020.cnblogs.com/blog/1226172/202101/1226172-20210122121935100-1788955286.png" alt="" width="409" height="512" loading="lazy"></p>
<h2>5 学习Scrapy爬虫框架</h2>
<p> 我的项目里没包含爬虫功能,但当时接了个私活,帮一个学校录制python爬虫视频。所以我就用了2周时间,买了这本书,照着里面的案例跑了一遍,就知道Scrapy爬虫的细节了。</p>
<p> 学Scrapy框架的注意点如下。</p>
<ul>
<li> Scrapy第三方比较难搭建,需要事先装其它的包,这里建议用python3.8和3.9解释器的基础上,搭建环境。</li>
<li> 建议把包下载到本地,在本地装。</li>
</ul>
<p> 但如果你真的搭建好Scrapy环境了,照着这本书上的做,基本上也不会遇到太大的问题。</p>
<p><img src="https://img2020.cnblogs.com/blog/1226172/202101/1226172-20210122122236485-131931018.png" alt="" width="338" height="427" loading="lazy"></p>
<h2>6 以案例入门机器学习sklearn库</h2>
<p> 机器学习方面,我当时看的是这本书,其中有机器学习,同时也有用sklearn库做线性回归和SVM分析的案例。</p>
<p> 我的体会是:虽然机器学习的算法比较复杂,但基本都已经封装在sklearn库里了,也就是说,在python里只需要调用方法,传入正确的参数,即可在项目里用到机器学习的算法。</p>
<p><img src="https://img2020.cnblogs.com/blog/1226172/202101/1226172-20210122123803960-344050199.png" alt="" width="453" height="490" loading="lazy"> </p>
<h2>7 以股票量化案例全面学习python数据分析</h2>
<p> 在之前的书里,有比较全面的整合机器学习和数据分析的案例,在其中也能综合用到numpy+pandas+matplotlib+sklearn库,不过我做的项目是和金融量化有关,所以我又买了这本书,用量化的案例来综合学习数据分析。</p>
<p><img src="https://img2020.cnblogs.com/blog/1226172/202101/1226172-20210122123137797-843396344.png" alt="" width="381" height="415" loading="lazy"></p>
<h2>8 归纳:我学python的心得体会</h2>
<p> 我自己感觉我学python的效率还算高,这里就来总结下我的学习心得。</p>
<ul>
<li> 学习一定要有目的,比如用python去找工作,项目里要用到python,或者用python去接私活,否则没目的别学。</li>
<li> 刚开始不建议通过视频学,而是去买书学,因为书里的知识点比较系统,而且书里的代码能确保可以运行。</li>
<li> 一定别光看书,一定得边运行代码边掌握技能。 </li>
</ul>
<p> 照着上述方法,你一定能在一个月内熟悉python。</p>
<h2>9 总结:我学python的成本和收益</h2>
<p><strong> 金钱成本</strong></p>
<p> 我前后买书大概用400元</p>
<p><strong> 时间成本</strong></p>
<p> 一个月的晚上和周末,其它没干就运行python,就能熟悉python语法+数据分析,外加一个月,就熟悉了机器学习相关语法。</p>
<p><strong> 收益:</strong></p>
<p> 工作里能干项目,挣到工资。</p>
<p> 后来出了两本书,稿酬大概是2万5左右</p>
<p> 能去讲课,这块挣钱到还行。</p>
<p> 做了一个python爬虫私活,挣了1万多。</p>
<p> 不过我感觉,由于python包含了深度学习等热点,所以各位程序员还真应当先去找个目标,比如跳槽,然后去学下python。按照我本文给出的流程,应该也能很快学到能干活的程度。 </p>
<p> </p>
<p><strong> 请大家关注我的公众号:一起进步,一起挣钱,在本公众号里,会有很多精彩文章。</strong></p>
<p><span class="cke_widget_wrapper cke_widget_inline cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="0"><img src="https://img-blog.csdnimg.cn/img_convert/94ca48546154bf9739a4ede0b441d180.png" alt="" class="cke_widget_element" src="https://img-blog.csdnimg.cn/img_convert/94ca48546154bf9739a4ede0b441d180.png" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/img_convert/94ca48546154bf9739a4ede0b441d180.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;&quot;,&quot;height&quot;:&quot;&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;none&quot;,&quot;classes&quot;:[]}" data-cke-widget-upcasted="1" data-cke-widget-keep-attr="0" data-widget="image"><span class="cke_reset cke_widget_drag_handler_container"><img src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" width="15" height="15" class="cke_reset cke_widget_drag_handler" title="点击并拖拽以移动" data-cke-widget-drag-handler="1"></span></span></p><br><br>
来源:https://www.cnblogs.com/JavaArchitect/p/14312389.html
頁:
[1]