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