該如何邁出 Python 學(xué)習(xí)第一步?
編者按:朋友圈轉(zhuǎn)發(fā)過(guò)的Python學(xué)習(xí)教程是否已經(jīng)被你遺忘在收藏夾里?原作者William Koehrsen是一名應(yīng)用數(shù)據(jù)科學(xué)研究員、超級(jí)馬拉松亞軍,本文是他學(xué)習(xí)Python的入門(mén)心得,或許能夠幫助遲遲未行動(dòng)的你。
回憶我的第一個(gè)Python程序
出于懷舊的緣故,我想分享我兩年前的第一個(gè)Python程序。我最初學(xué)習(xí)Python,只是作為一名航空航天工程專(zhuān)業(yè)的學(xué)生想要逃避學(xué)習(xí)Spreadsheets(電子表格制作軟件),而我也不知道怎么就選擇了Python。
我的Python教育始于Al Sweigart 的“ Automated the Boring Stuff with Python”一書(shū) ,它是一本出色的程序入門(mén)書(shū)籍,教你用簡(jiǎn)單的程序來(lái)完成有用的任務(wù)。當(dāng)我學(xué)習(xí)一個(gè)新的課程時(shí),我會(huì)尋找使用它的機(jī)會(huì),試圖用Python解決一個(gè)新問(wèn)題。
在第一個(gè)作業(yè)之前,我非常渴望得到這本價(jià)值200美元的書(shū),但我連租金20美元都付不起。我看到亞馬遜有一個(gè)免費(fèi)的一星期試用機(jī)會(huì),便通過(guò)亞馬遜,拿到了這本書(shū)一個(gè)星期的使用權(quán)、完成了作業(yè)。雖然我可以每次需要都創(chuàng)建一個(gè)新賬戶(hù),但太麻煩了。我想出了一個(gè)更有效的方法,利用Python進(jìn)行了一次編程。
Automate the Boring Stuff中的許多有用的庫(kù)之一是pyautogui,它允許你通過(guò)Python控制鍵盤(pán)和鼠標(biāo)。有人說(shuō),當(dāng)你有一把錘子,每一個(gè)問(wèn)題看起來(lái)就會(huì)像一個(gè)釘子。
Python和pyautogui將允許我按箭頭鍵,并截圖,解決了“書(shū)本無(wú)限免費(fèi)看問(wèn)題”。
我寫(xiě)了第一個(gè)程序,自動(dòng)翻閱書(shū)中的每一頁(yè)并截圖。雖然只有10行,但我卻非常自豪!
以下是本次代碼的全部?jī)?nèi)容:
導(dǎo)入pyautogui
導(dǎo)入時(shí)間
#睡5秒鐘,讓我打開(kāi)書(shū)的時(shí)間
sleep.leep(5)
#范圍可以根據(jù)頁(yè)數(shù)(1000)進(jìn)行更改:
for i in range(1000):
#翻頁(yè)
pyautogui.keyDown('right')
pyautogui.keyUp('right')
#保存截圖
pyautogui.screenshot('images / page_%d.pdf'%i)
time.sleep (0.05)
運(yùn)行程序非常簡(jiǎn)單(我鼓勵(lì)任何人嘗試)。我將腳本保存為book_screenshot.py,然后在同一個(gè)文件夾中拉出一個(gè)命令提示符并鍵入:
python book_screenshot.py
然后,我會(huì)有5秒鐘翻轉(zhuǎn)書(shū),并把它放到全屏。該程序?qū)⑼瓿墒O碌墓ぷ鳎瑸g覽每個(gè)頁(yè)面并截取保存為pdf的截圖。然后,我可以把所有的pdf文件合并成一個(gè)文件,并且有一個(gè)(雖然合法性可疑)這本書(shū)的副本!誠(chéng)然,這是一個(gè)不夠尊重版權(quán)的副本,但卻是我為了看書(shū)不得不采用的方法。
這個(gè)例子展示了我學(xué)習(xí)新技能兩個(gè)關(guān)鍵點(diǎn):
1、學(xué)習(xí)新技能的最好方法就是找到需要解決的問(wèn)題!
2、在有用之前,您不需要完全掌握一項(xiàng)技能。
只需要幾行代碼和一本免費(fèi)的在線(xiàn)書(shū)籍,我就寫(xiě)了一個(gè)我實(shí)際使用的程序。學(xué)習(xí)基礎(chǔ)知識(shí)可能會(huì)很乏味,因?yàn)槲視?huì)陷入了數(shù)據(jù)結(jié)構(gòu)和循環(huán)中難以解脫。我第一次學(xué)習(xí)Python的嘗試在幾個(gè)小時(shí)內(nèi)就失敗了。而當(dāng)我改變策略,開(kāi)始為現(xiàn)實(shí)問(wèn)題制定解決方案后,最終學(xué)習(xí)到了一些基本原理。
在編程和數(shù)據(jù)科學(xué)領(lǐng)域有很多東西需要掌握,但是你不需要一次學(xué)習(xí)所有東西。選擇一個(gè)你需要解決的問(wèn)題,開(kāi)始吧!

責(zé)任編輯:任我行