以我的親身經歷,聊聊學python的流程,同時推薦學python的書

itread01 2021-01-22 16:16:58
Python 流程 聊聊 以我


    因為幹活要用到,所以我大概於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。按照我本文給出的流程,應該也能很快學到能幹活的程度。 

    

    請大家關注我的公眾號:一起進步,一起掙錢,在本公眾號裡,會有很多精彩文章。

版权声明
本文为[itread01]所创,转载请带上原文链接,感谢
https://www.itread01.com/content/1611302762.html

  1. python中hmac模块的使用
  2. 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)
  3. Using Python javaserialization tools module to generate 8u20 gadget
  4. The basic syntax of Python
  5. The use of HMAC module in Python
  6. 攻防世界web进阶区Web_python_block_chain详解
  7. Attack and defense world web advanced zone Web_ python_ block_ Details of chain
  8. pandas DataFrame的新增行列,修改、删除、筛选、判断元素以及转置操作
  9. Add rows and columns, modify, delete, filter, judge elements and transpose operations in pandas dataframe
  10. pandas DataFrame的新增行列,修改、删除、筛选、判断元素以及转置操作
  11. Add rows and columns, modify, delete, filter, judge elements and transpose operations in pandas dataframe
  12. 虚言妙诀终虚见,面试躬行是致知,Python技术面试策略与技巧实战记录
  13. The interview practice is knowledge, python technology interview strategy and skills of the actual record
  14. 用tqdm和rich为固定路径和目标的python算法代码实现进度条
  15. Using tqdm and rich as the fixed path and target of Python algorithm code to realize the progress bar
  16. 我来记笔记啦-Django开发流程与配置
  17. Let me take notes - Django development process and configuration
  18. python数据类型的强制转换
  19. Django报错:'Key 'id' not found in 'xxx'. Choices are: xxx'
  20. Python400集大型视频,从正确的方向出发学习,全套完整送给大家
  21. Mandatory conversion of Python data type
  22. Django reported an error: 'key' ID 'not found in' xxx '. Choices are: xxx'
  23. Python 400 sets of large video, starting from the right direction to learn, a complete set to you
  24. 只需十四步:从零开始掌握Python机器学习(附资源)
  25. Just 14 steps: Master Python machine learning from scratch (resources attached)
  26. Python|文件读写
  27. 安利一个Python界神奇得网站
  28. Python | file reading and writing
  29. Amway is a marvelous website in Python world
  30. 第二热门语言:从入门到精通,Python数据科学简洁教程
  31. The second popular language: from introduction to mastery, python data science concise tutorial
  32. 以我的亲身经历,聊聊学python的流程,同时推荐学python的书
  33. With my own experience, I'd like to talk about the process of learning Python and recommend books for learning python
  34. 以我的亲身经历,聊聊学python的流程,同时推荐学python的书
  35. With my own experience, I'd like to talk about the process of learning Python and recommend books for learning python
  36. Django url 路由匹配过程
  37. Django URL routing matching process
  38. 强者一出,谁与争锋?与Python相比,C++的运行速度究竟有多快?
  39. Who will fight against the strong? How fast is C + + running compared with Python?
  40. python 学习体会
  41. Experience of learning Python
  42. python7、8章
  43. Chapter 7 and 8 of Python
  44. python bool和str转换
  45. python——循环(for循环、while循环)及练习
  46. python变量和常量命名、注释规范
  47. python自定义异常捕获异常处理异常
  48. python 类型转换与数值操作
  49. python 元组(tuple)和列表(list)区别
  50. 解决python tkinter 与 sleep 延迟问题
  51. python字符串截取操作
  52. Python bool and STR conversion
  53. Python -- loop (for loop, while loop) and Practice
  54. Specification for naming and annotating variables and constants in Python
  55. Python custom exception capture exception handling exception
  56. Python type conversion and numerical operation
  57. The difference between tuple and list in Python
  58. Solve the delay problem of Python Tkinter and sleep
  59. Python string interception operation
  60. Python 100天速成中文教程,GitHub标星7700