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