以我的亲身经历,聊聊学python的流程,同时推荐学python的书

hsm_computer 2021-01-22 13:05:18
经历 以我 身经 亲身经历 亲身


    因为干活要用到,所以我大概于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。按照我本文给出的流程,应该也能很快学到能干活的程度。 

    

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

版权声明
本文为[hsm_computer]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/JavaArchitect/p/14312389.html

  1. 前后端分离有什么了不起,手把手教你用Python爬下来!
  2. 在 Azure 上执行一些简单的 python 工作
  3. 推荐 :利用Python的混合集成机器学习(附链接)
  4. Cunning or orthodox Kung Fu? The most complete usage of Python derivation
  5. It's estimated that 80% of pandas people have to hang up!
  6. What's so great about the separation of front and rear ends? Hand in hand teach you to climb down with Python!
  7. Doing some simple Python work on azure
  8. Recommendation: hybrid integrated machine learning using python (link attached)
  9. Learning PPO algorithm programming from scratch (Python version)
  10. Python OpenCV 图片模糊操作 blur 与 medianBlur
  11. Python OpenCV image blur operation blur and mediablur
  12. 成功解决cv2.error: OpenCV(4.1.2) C:\projects\opencv-python\opencv\modules\imgproc\src\color.cpp:182: err
  13. Cv2.error solved successfully: opencv (4.1.2) C:: (projects / opencv Python / opencv modules / imgproc / SRC)\ color.cpp:182 : err
  14. Python 中使用 virtualenv 管理虚拟环境
  15. Using virtualenv to manage virtual environment in Python
  16. 如何使用Python执行系统命令?Python学习教程!
  17. How to use Python to execute system commands? Python tutorial!
  18. 快速掌握Python中的循环技术
  19. Quickly grasp the loop technology in Python
  20. Python主流Web框架之Tornado
  21. appium+python自动化63-使用Uiautomator2报错问题解决
  22. Tornado: the mainstream Python Web Framework
  23. Appium + Python automation 63 - using uiautomator2 to solve the problem of error reporting
  24. 爬虫+django,打造个性化API接口
  25. Crawler + Django to create personalized API interface
  26. 爬虫+django,打造个性化API接口
  27. Crawler + Django to create personalized API interface
  28. C、C++、Java、PHP、Python主要应用在哪里方面?
  29. C. Where are the main applications of C + +, Java, PHP and python?
  30. Python 无限级分类树状结构生成算法 「实用代码」
  31. Python infinite classification tree structure generation algorithm "practical code"
  32. 【Azure 存储服务】Python模块(azure.cosmosdb.table)直接对表存储(Storage Account Table)做操作示例
  33. [azure storage service] Python module( azure.cosmosdb.table )Direct operation example of storage account table
  34. 【Azure 存储服务】Python模块(azure.cosmosdb.table)直接对表存储(Storage Account Table)做操作示例
  35. [azure storage service] Python module( azure.cosmosdb.table )Direct operation example of storage account table
  36. openpose c++ 配置教程 + python api
  37. Openpose C + + configuration tutorial + Python API
  38. PYTHON爬虫实战_垃圾佬闲鱼爬虫转转爬虫数据整合自用二手急速响应捡垃圾平台_3(附源码持续更新)
  39. 使用python javaSerializationTools模块拼接生成 8u20 Gadget
  40. 萌新入门之python基础语法
  41. python中hmac模块的使用
  42. Python crawler_ Garbage man idle fish crawler turn crawler data integration self use second hand rapid response garbage collection platform_ 3 (with continuous source update)
  43. Using Python javaserialization tools module to generate 8u20 gadget
  44. The basic syntax of Python
  45. The use of HMAC module in Python
  46. 攻防世界web进阶区Web_python_block_chain详解
  47. Attack and defense world web advanced zone Web_ python_ block_ Details of chain
  48. pandas DataFrame的新增行列,修改、删除、筛选、判断元素以及转置操作
  49. Add rows and columns, modify, delete, filter, judge elements and transpose operations in pandas dataframe
  50. pandas DataFrame的新增行列,修改、删除、筛选、判断元素以及转置操作
  51. Add rows and columns, modify, delete, filter, judge elements and transpose operations in pandas dataframe
  52. 虚言妙诀终虚见,面试躬行是致知,Python技术面试策略与技巧实战记录
  53. The interview practice is knowledge, python technology interview strategy and skills of the actual record
  54. 用tqdm和rich为固定路径和目标的python算法代码实现进度条
  55. Using tqdm and rich as the fixed path and target of Python algorithm code to realize the progress bar
  56. 我来记笔记啦-Django开发流程与配置
  57. Let me take notes - Django development process and configuration
  58. python数据类型的强制转换
  59. Django报错:'Key 'id' not found in 'xxx'. Choices are: xxx'
  60. Python400集大型视频,从正确的方向出发学习,全套完整送给大家