如果題主對基礎的編程知識有一些了解,但還沒有開始系統地學習Python。不過,既然題主的目標很明確(將Python作為一種工具來提高工作效率,比如爬取數據),那么,接下來制定學習計劃就比較簡單了。
無論題主是否已經學習了一些其他的編程語言,在開始學習Python時,都應該先從Python的基本概念學起,這樣在之后的編程實戰中就能盡量減少因為不熟悉語言機制而出現的錯誤。
《Python編程:從入門到實踐》,作者:Eric Matthes,譯者:袁國忠這是一本Python入門書,共分為入門和實踐兩個部分:第一部分介紹了Python編程的基本概念,包括matplotlib、NumPy和Pygal等強大的Python庫和工具介紹,以及列表、字典、if語句、類、文件與異常、代碼測試等內容;第二部分通過三個項目(Python 2D游戲開發,利用數據生成交互式信息圖,以及創建和定制簡單的Web應用)將理論付諸于實踐。幫助讀者理解Python編程的概念及用途。使用Python 2或Python 3的讀者都可以利用這本書來學習。
《Python編程快速上手——讓繁瑣工作自動化》,作者:[美] Al Sweigart 斯維加特,譯者:王海鵬這本書致力于教大家利用Python 編程,在幾分鐘內完成手工需要幾小時的工作。比如:在一個文件或多個文件中搜索文本;創建、更新、移動和重命名文件和文件夾;搜索網頁和下載的在線內容;在任意大小的Excel電子表格中更新和格式化數據……這本書一步一步地引導你完成每個程序,并用你學到的新技能來讓類似的任務自動化。你不用再浪費時間去做任何可以自動化的工作。即使你從未寫過一行代碼,也可以讓計算機來做繁重的工作。在學習爬蟲以前,可以先利用這些小功能來體會一下Python編程帶來的便利。
《Python基礎教程 第3版》,作者:[挪]Magnus Lie Hetland,譯者:袁國忠這本書專門針對Python 3進行講解,包括了Python程序設計的方方面面:從列表、元組等基礎概念,到抽象、異常等相對高級的話題,再到將Python與數據庫、網絡、C語言等工具結合使用,Python程序的測試、打包和發布。最后,這本書按照實際項目開發的步驟向讀者介紹了10個具有實際意義的Python項目的開發過程,供讀者練習并體會代碼功能。
僅僅學習一些分散的基礎知識還不能讓你熟練地開發一個綜合功能,最好能利用幾個通用的應用來體會Python語言中各種知識點的應用場景,并將其融會貫通,舉一反三。
《Python核心編程(第3版)》,作者:[美]Wesley Chun,譯者:孫波翔 李斌 李晗這本書是經典暢銷圖書《Python核心編程(第二版)》的全新升級版本,全書共分為3部分。第1部分講解了Python的一些通用應用,包括正則表達式、網絡編程、Internet客戶端編程等內容;第2部分講解了與Web開發相關的主題;第3部分則包括文本處理以及一些其他內容。適合具有一定基礎的Python開發人員作為進階教程來學習。
既然題主想利用Python從網上爬取數據,那么閱讀一些網絡爬蟲方面的書籍就非常有必要了。
《Python 3網絡爬蟲開發實戰》,作者:崔慶才這本書介紹了如何利用Python 3開發網絡爬蟲,書中討論了urllib、requests、正則表達式、Beautiful Soup、XPath、pyquery、數據存儲、Ajax數據爬取等內容,接著通過多個案例介紹了不同場景下如何實現數據爬取,最后介紹了pyspider框架、Scrapy框架和分布式爬蟲,適合Python程序員閱讀。
得益于Python強大而豐富的庫以及數據分析能力,Python在神經網絡、深度學習等方面都已經有了成熟的包可供調用。除了網絡爬蟲以外,題主也可以對Python在其他方向的應用進行擴展學習。
《Python神經網絡編程》,作者:[英]塔里克·拉希德,譯者:林這本書從簡單的思路著手,利用Python語言詳細介紹了神經網絡工作所須的基礎知識,共包括三部分:第1部分介紹基本的思路,包括神經網絡底層的數學知識,第2部分介紹了學習Python編程的流行方法,并使用Python構建神經網絡,讓其像專家所開發的網絡那樣工作(如手寫字母的識別)。第3部分擴展介紹了如何將神經網絡的性能提升到工業應用的層級,甚至讓其在Raspberry Pi(樹莓派,一款單板計算機)上工作。
這幾本書基本覆蓋了從學習基礎概念到利用Python完成實際工作的完整學習路線,建議題主根據自己的程度進行針對性的學習。不必急于求成,畢竟在學習過程中的每一條bug都可能讓你學到一點新技能。
更多關于IT/經管/心理學精彩內容和圖書推薦請關注@人民郵電出版社哦!
Python是一種面向對象的解釋型計算機程序設計語言,可以在Windows、Linux、macOS系統中搭建環境并使用。其強大之處在于它的應用領域范圍遍及人工智能、科學計算、大數據及云計算、Web開發、系統運維、游戲開發等。
通過Anaconda安裝Python(Windows系統)工欲善其事必先利其器,Anaconda指的是一個開源的 Python 發行版本,其包含了conda、Python等180多個科學包及其依賴項,可以便捷獲取包且對包能夠進行管理,同時對環境可以統一管理的發行版本。
Anaconda具有如下特點:
開源安裝簡單高性能使用Python和R語言免費的社區支持Anaconda 官網下載地址:https://www.anaconda.com/products/individual
如上圖,建議選擇安裝Python 3.7 版本,完成下載后,雙擊啟動安裝程序,安裝過程需要注意以下幾點:
如上圖,選擇“Just Me”安裝,如果在安裝時選擇了“為所有用戶安裝”,則卸載Anaconda重新安裝。
如上圖,安裝路徑中不能包含有空格和特殊字符,也不能含中文。
如上圖,在“Advanced Options”中不要勾選“Add Anaconda to my PATH environment variable.”(添加Anaconda至我的環境變量),若勾選,可能會影響其他程序的使用。
使用集成開發環境Pycharm編寫Python代碼PyCharm是一種Python IDE,帶有一整套可以幫助用戶在使用Python語言開發時提高其效率的工具,比如調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。此外,該IDE提供了一些高級功能,以用于支持Django框架下的專業Web開發。
PyCharm 的下載地址:https://www.jetbrains.com/pycharm/
完成下載之后,雙擊下載文件,啟動安裝程序,安裝過程非常簡單,此處不做說明。
安裝完成后,需添加解釋器
如上,在Settings中設置Python解釋器,我們選擇Python3.exe,點擊Apply,等待系統配置。
美好的開始,Hello World以下實例是我們使用Python開發的第一個實例,即如何輸出"Hello World!" 。
若對你有所幫助,歡迎大家評論、留言、關注,感謝支持!
或看好Python的廣闊前景,或看中Python的語法簡潔,越來越多零基礎的人選擇學Python。但是Python基礎知識有哪些呢?Python部分基礎知識點匯總
數據類型:編程中操作的每一個數據都是有其類型的,比如我們的程序需要進行數學計算,那么進行計算的參數和結果就都是數值,我們需要輸入、輸出一段話,那么這段話就是一個字符串。
變量和常量:變量有什么用?怎么使用?常量又是做什么的?
控制流語句:控制流語句讓程序變得更加靈活,稍微復雜一些的程序都需要用到控制流語句中的判斷和循環,那么如何在Python中高效應用控制流語句就顯得非常重要。
函數:當程序開始復雜起來,某些功能可能需要多次使用的時候,我們就可以把這個功能封裝成“函數”,函數就像是工具箱里一件件的工具,在需要的時候打開工具箱拿出即可使用。
數據結構:Python怎么處理數據?列表、元組、集合、字典分別有什么特性都需要詳細了解。
異常處理:當你的程序開始復雜起來,可能會遇到某些不確定是否會出現錯誤的情況,這個時候怎樣自定義異常、處理異常就十分重要。
注釋:不寫注釋的程序員不是好程序員。
面向對象:面向對象是一種編程思想,可以讓程序變得更可復用,同時邏輯更清晰,效率最高。
文件操作:很多時候我們需要對本地文件進行一些增刪改查的操作。
模塊和包:Python之所以如此受歡迎,很大程度上得益于它有非常豐富模塊和包,這些東西可以讓你少造輪子。
Python與網絡:python獲取網頁信息、與其他計算機通信、訪問數據庫等。
以上大部分其實是編程基礎,但是只學這些還是不夠的,很多企業招聘的Python崗位均需要和其他方向內容相結合,比如大數據、運維、Web等等。因此零基礎快速入門進階Python技能還需要進行系統的學習。
首先,需要安裝插件:pypdf
output = PdfFileWriter()
#讀取pdf文件
input1 = PdfFileReader(file('/home/zilu/workspace/liuy/project/caifujutou/static/xml/test.pdf', 'rb'))
output.addPage(input1.getPage(0))
outputStrem = open('/home/zilu/workspace/liuy/project/caifujutou/static/xml/test.pdf', 'rw')
#寫入結果pdf文件
output.write(outputStrem)
outputStrem.close()
#操作普通文件類型
#filename,文件路徑、名稱,如果有\,注意轉義或者開頭加r,mode讀取的模式,r讀取,w寫入,,
f = open('/home/zilu/workspace/liuy/project/caifujutou/static/xml/test.xml', 'r')
#獲取內容并儲存在變量里
read = f.read()
print(read)
#關閉文件,節省內存
f.close()
#讀取pdf文件寫入新的pdf文件
by = open('/home/zilu/workspace/liuy/project/caifujutou/static/xml/test.pdf', 'rb')
by.seek(0, 0)
outputStrem = open('/home/zilu/workspace/liuy/project/caifujutou/static/xml/test2.pdf', 'w')
outputStrem.write(by.read())