因为干活要用到,所以我大概于19年5月开始学python,大概学了1个月后,我就能干公司的活了,而且这python项目还包含了机器学习等要素,大概3个月后,我还承担了项目里开发机器学习数据分析的任务。所以我感到,虽然python里包含了爬虫、机器学习和数据分析等热门要素,但python并不难学,而且如果方法得当,学到能干项目的程度也很快。在这篇文章里,就讲给出我学Python的流程,向大家展示如何高效学python。

1  搭建开发环境

由于我有学java的基础,所以我知道首先得搭建开发环境,当时我是用eclipse+Python解释器+pydev插件搭的环境,当时我还用的是3.4解释器,当然现在解释器似乎到3.9了,我也用Pycharm集成开发环境了。

如果大家现在要学python,建议用如下的步骤搭建环境。

1.  到官网上去下载python解释器,并安装

这个是官网,https://www.python.org/downloads/windows/,在这里大家可以选择最新的版本,并根据你机器的操作系统,下载windows或linux或mac的版本,我下载的是windows版本。下载后按提示即可完成安装。

python是解释型语言,所以下载并安装解释器后,就能在你本地运行python语言了。

2.  安装pycharm集成开发环境

安装好python解释器以后,理论上你就可以通过命令行的方式,开发并运行python程序了。但这很不方便,所以建议再到https://www.jetbrains.com/pycharm/download/ 这个网站去下载并安装pycharm集成开发环境。

3.  安装第三方包

当安装好python解释器后,该解释器会自带一些比较基本的依赖包,但如果要开发机器学习或数据分析等程序,就需要安装第三方包,比如后文提到的numpy等。

我安装第三方包的做法是,在命令窗口,通过cd等命令,进入到Python解释器所在的路径,比如C:\Users\think\AppData\Local\Programs\Python\Python37,在该路径里,再进入Scripts路径,找到pip3命令,随后通过pip3 install 包名的方式,安装第三方包,比如要安装numpy包,对应的命令是pip3 install numpy。

至此就搭好了开发环境。

2  搭建开发环境时遇到的坑

我在搭建开发环境时遇到过两个坑,第一是换源,第二是在pycharm里找到对应的解释器。

    什么叫换源?

在用pip3 install numpy等命令安装第三方库的时候,默认似乎是到国外网站去下载,这样如果遇到包比较大,而且网络不好的情况下,下载会比较困难,所以可以用如下-i参数,指定下载第三方报道的源。

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualen

这里-i参数后https://pypi.tuna.tsinghua.edu.cn/simple指定的是清华源,而virtualen则是待下载的第三方包,这样就能以比较快的方式下载并安装第三方包。

在pycharm里确定解释器

我在这块搞了很久,后来我在培训班里带同学入门python时,发现初学者经常在这里犯错误。

我们知道,pycharm会自带python解释器。

但这个解释器版本未必是我们预期的,所以我们还会再装其它的解释器。问题就在这里,安装的第三方包是跟着解释器的

比如我们在pycharm自带的3.8解释器里安装了若干第三方包,但如果切换到自己装的3.9python解释器里,这些第三方包就会全部变掉。

比如当我们切换解释器后,发现第三方包全变了。

所以在安装第三方包时,一定得注意,要到选中解释器,比如3.9这个解释器的目录里,运行其中的pip3命令,这样就能为特定的解释器安装包。

3  通过敲代码熟悉语法

Python入门书其实都差不多,我当时用的是这本。入门书不用多,运行通一本书里的语法代码即可。

Python的基本语法包括:分支循环,集合(列表字典元组等),面向对象(类和继承等),文件读写和异常处理,这些语法点,运行通一遍,基本就能了解了,在开始学习阶段,不用太多地深入。

如果你编程基础自认为一般,就可以再找本书,比如这本。但基本语法不用多看,运行两本书的代码就足够了。因为Python的重点在于数据分析、爬虫和机器学习等要素。

4  学习数据分析三剑客组件

我的项目是用Python进行股票量化分析,不过我观察了下,不管用Python做什么样的应用,数据分析三剑客,比如Numpy,Pandas和Matplotlib这三个库,一般都得掌握。

我当时看的是这本,其中包含了三剑客的语法和应用没,一般看了一本,然后照着里面的代码运行一遍的话,数据分析这块,应该也能达到能干活的地步了。

5  学习Scrapy爬虫框架

我的项目里没包含爬虫功能,但当时接了个私活,帮一个学校录制python爬虫视频。所以我就用了2周时间,买了这本书,照着里面的案例跑了一遍,就知道Scrapy爬虫的细节了。

学Scrapy框架的注意点如下。

  • Scrapy第三方比较难搭建,需要事先装其它的包,这里建议用python3.8和3.9解释器的基础上,搭建环境。
  • 建议把包下载到本地,在本地装。

但如果你真的搭建好Scrapy环境了,照着这本书上的做,基本上也不会遇到太大的问题。

6  以案例入门机器学习sklearn库

机器学习方面,我当时看的是这本书,其中有机器学习,同时也有用sklearn库做线性回归和SVM分析的案例。

我的体会是:虽然机器学习的算法比较复杂,但基本都已经封装在sklearn库里了,也就是说,在python里只需要调用方法,传入正确的参数,即可在项目里用到机器学习的算法。

7  以股票量化案例全面学习python数据分析

在之前的书里,有比较全面的整合机器学习和数据分析的案例,在其中也能综合用到numpy+pandas+matplotlib+sklearn库,不过我做的项目是和金融量化有关,所以我又买了这本书,用量化的案例来综合学习数据分析。

8  归纳:我学python的心得体会

我自己感觉我学python的效率还算高,这里就来总结下我的学习心得。

  • 学习一定要有目的,比如用python去找工作,项目里要用到python,或者用python去接私活,否则没目的别学。
  • 刚开始不建议通过视频学,而是去买书学,因为书里的知识点比较系统,而且书里的代码能确保可以运行。
  • 一定别光看书,一定得边运行代码边掌握技能。

照着上述方法,你一定能在一个月内熟悉python。

9  总结:我学python的成本和收益

    金钱成本

我前后买书大概用400元

    时间成本

一个月的晚上和周末,其它没干就运行python,就能熟悉python语法+数据分析,外加一个月,就熟悉了机器学习相关语法。

    收益:

工作里能干项目,挣到工资。

后来出了两本书,稿酬大概是2万5左右

能去讲课,这块挣钱到还行。

做了一个python爬虫私活,挣了1万多。

不过我感觉,由于python包含了深度学习等热点,所以各位程序员还真应当先去找个目标,比如跳槽,然后去学下python。按照我本文给出的流程,应该也能很快学到能干活的程度。

    请大家关注我的公众号:一起进步,一起挣钱,在本公众号里,会有很多精彩文章。

以我的亲身经历,聊聊学python的流程,同时推荐学python的书的更多相关文章

  1. SAE Python使用经验 好文推荐

    SAE Python使用经验 好文推荐 SAE Python使用经验 好文推荐

  2. 我所亲身经历的CMMI3 [问题点数:20分,结帖人outer2000]--转载

    很荣幸,作为某公司软件部门的软件项目经理,亲身经历了CMMI3,以下就把整个改进过程,用自己的亲身体会,详述如下,文中一些观点与看法难免带有个人感情,还请各位酌情参考. 公司情况简单介绍下,因为是为某 ...

  3. 简学Python第二章__巧学数据结构文件操作

    #cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...

  4. 5月25号开学! 第13期《python3自动化测试selenium+接口》课程,python零基础也能学

    2019年 第13期<python3自动化测试selenium+接口>课程,5月25号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学 本期上课时间:5月25号-7月28号,每周 ...

  5. 利用Python网络爬虫爬取学校官网十条标题

    利用Python网络爬虫爬取学校官网十条标题 案例代码: # __author : "J" # date : 2018-03-06 # 导入需要用到的库文件 import urll ...

  6. 房地产大佬潘石屹推荐学Python编程,这本从0到1就够了

    潘石屹推荐学Python编程,很多人都不相信,他的微博真真切切. 连房地产都开始学Python了,因为要听懂机器,让机器为我所用. 再不学习Python真的晚了!!!! 如何学? 怎么学? 还是推荐高 ...

  7. Python学习课程零基础学Python

    python学习课程,零基础Python初学者应该怎么去学习Python语言编程?python学习路线这里了解一下吧.想python学习课程?学习路线网免费下载海量python教程,上班族也能在家自学 ...

  8. 想学Python不知道从哪里开始学?|百度网盘免费下载| 这本入门书了解下

    百度网盘免费下载:编程小白的第一本 Python 入门书 提取码:s0pc Python是什么 Python是一种计算机程序设计语言,由吉多·范罗苏姆创造,第一版发布于1991年,可以视之为一种改良的 ...

  9. 要不是真的喜欢学技术,谁会来用Python爬小姐姐啊

    养成习惯,先赞后看!!!不用于任何商业价值,只是自己娱乐.否则 爬虫爬的好,牢饭吃到饱.这是我们这次爬取的网址:https://www.vmgirls.com/ 很多人学习python,不知道从何学起 ...

  10. 【循序渐进学Python】5.Python常用流程控制及其他语句

    1. 赋值语句常用技巧 通过序列解包(sequence unpacking)可以将多个值的序列解开,让后一一放置到变量的序列中.解包的序列中的元素必须和等号左边变量数量一致.如下: values = ...

随机推荐

  1. Android 防止多次点击事件

    恐怕大家都会遇到这样的问题,一个点击事件多次触发,导致,同样的内容提交了多次,或者说弹出多个页面... 下面是简单的方案,大家可以试一试 原理很简单,当我们第一次点击的时候,把按钮变成不可点击状态. ...

  2. Split Array Largest Sum

    Given an array which consists of non-negative integers and an integer m, you can split the array int ...

  3. [Core Javascirpt] Basic Metaprogramming: Dynamic Method

    Somehow it looks like reflect in Java. For example: We define an mothod on the Object, it called def ...

  4. GSM Hacking:如何对GSM/GPRS网络测试进行测试

    写在前面 这里需要介绍的是GSM / GPRS网络测试的一些方法,随着现在硬件设备连网现象的普遍存在,例如智能电表.自动变速箱控制单元(TCU).POS机.报警系统等.这些设备通常需要与网络连接,GS ...

  5. linux下切割catalina.out文件,按天生成文件

    1.下载工具cronolog压缩包(http://download.csdn.net/detail/sunling_sz/8144469) 2.将文件拖放到server,不论什么文件夹都能够. 3.进 ...

  6. Unable to load configuration. - bean - jar: ....struts2-core-2.1.8.1.jar!/struts-default.xml:47:178

    摘录的异常代码: 2013-12-14 22:42:07 com.opensymphony.xwork2.util.logging.commons.CommonsLogger error严重: Dis ...

  7. animate动画被锁在队列中不动怎么解决

    [示例]: function scroll_to(obj){            $('html,body').animate({scrollTop:obj.position().top},700) ...

  8. 异步任务spring @Async注解源码解析

    1.引子 开启异步任务使用方法: 1).方法上加@Async注解 2).启动类或者配置类上@EnableAsync 2.源码解析 虽然spring5已经出来了,但是我们还是使用的spring4,本文就 ...

  9. PhotoShop不用魔棒、钢笔 建立较平整的选区 P进电脑屏幕里

    不用魔棒.抽出.钢笔等,还可以直接变形图建立调整选区,这种方法比钢笔抽出感觉简单一些,比魔棒仔细一些. 抽出或钢笔:抽出弄错了偏移了还要擦除,调整笔刷,抽出后可能还有毛边,需要用橡皮擦除: 钢笔,错了 ...

  10. BSOJ 5603 -- 【SNOI2017】炸弹

    题好数据水系列,网上的十几行神仙解法A了原数据. 这道题要用到线段数优化建图的知识.然而考试考到这道题时我还不会. 我们设分别表示每个炸弹向左和向右最远能炸到哪个炸弹.很容易想到一个思路,就是每个炸弹 ...