CS漫談丨學 Python 都可以用來干嘛?超干貨學習資料!

【聲明:本文為原創(chuàng)文章,未經(jīng)同意,嚴禁轉(zhuǎn)載和抄襲,違者將追究其法律責任】
/?寫在前面的話?/
CS漫談,聊聊和計算機有關(guān)的那些事。
公主號:蘇世學社考研? 蘇世計算機考研
可能大家都想知道這幫程序猿在利用Python搞些什么。首先,給大家科普一下一些大型科技公司如何使用該語言的。Google是一家從一開始就使用Python的公司,Python已成為科技巨頭的主要服務(wù)器端語言之一。Python的創(chuàng)造者LifeGuido van Rossum甚至在谷歌還工作了幾年,負責監(jiān)督該語言的發(fā)展。

國內(nèi)的網(wǎng)易云音樂、QQ音樂等將Python用于其數(shù)據(jù)分析和后端服務(wù),基于他們的團隊開發(fā),Python的易用性導(dǎo)致了閃電般的開發(fā)流程,網(wǎng)易云音樂會進行大量數(shù)據(jù)分析以向其用戶提供音樂推薦,因此他們需要簡單但又可以正常使用的功能。
那么我們這些普通人又可以使用Python來做什么呢?
從網(wǎng)絡(luò)開發(fā)到數(shù)據(jù)科學,機器學習等等,Python的實際應(yīng)用是無限的。今天小蘇在這里為大家提供10點項目指南,以便幫助大家充分利用發(fā)揮Python的潛力。
1.可以自動化一些繁瑣而且無聊的東西
網(wǎng)上有很多有關(guān)“面向初學者的實用編程”的資源,將教大家如何自動化繁瑣的任務(wù),例如更新海量的excel表格或為上百份同指定類型文件重命名。對于只會機械式一個一個手動操作的人來說,做這樣的事情簡直令人抓狂。但是對于會Python的人來說,做這種事情簡直小菜一碟,通過創(chuàng)建字典列表,抓取網(wǎng)絡(luò),使用文件以及創(chuàng)建對象和類來實踐所學的知識,從而既快速又精確地完成任務(wù)。該種學習資源有多種格式,可為大家提供最佳的學習體驗。
?2.Python比特幣
近幾年每個人似乎都在談?wù)摫忍貛?,熱度非常高。比特幣價格的上上下下,始終撩動著每一個無比關(guān)切的人的小心臟。從2020年初的 8300美元左右,飛漲到2020年底約143000美元,不到1年翻了將近1.8倍。幣圈人士“過去一年比以往 10 年掙的都多”已經(jīng)是不爭的事實。雖然比特幣價格持續(xù)波動,但許多人認為這是值得的投資。如果大家想利用虛擬淘金來賺錢,并且只需要知道何時采取行動,那么就需要抓住比特幣最高價格水準。
以下鏈接教程可以教大家如何用 Python 創(chuàng)建比特幣交易。該項目的基礎(chǔ)是創(chuàng)建IFTTT(if this, then that)小程序,可以學習如何使用請求庫發(fā)送HTTP請求以及如何使用Webhook將應(yīng)用程序連接到外部服務(wù)。對于對加密技術(shù)感興趣的初學者而言,這是一個完美的入門項目。大家也可以通過本教程構(gòu)建的服務(wù)也可以擴展到其他貨幣。僅供學習使用,不要盲目投資哦。
https://blog.csdn.net/Blockchain_lemon/article/details/79798913
https://en.bitcoin.it/wiki/Bitcoin-python
https://github.com/richardkiss/pycoin
https://github.com/jgarzik/python-bitcoinlib
3.自己做個計算器
這個簡單小項目是進入GUI編程的一個非常好的跳板。做得好了基本上也就對軟件開發(fā)有一個大概的了解了,如果大家對UX和UI設(shè)計感興趣,可以在此鏈接看看他們的差異性。
https://www.jianshu.com/p/77b1c988803d
在這里你將會用到tkinter模塊,這是傳統(tǒng)上與Python捆綁在一起的標準圖形用戶界面程序包。tkinter模塊是Tcl/Tk的包裝,Tcl/Tk是Tcl腳本語言和GUI框架擴展Tk的組合。如果大家安裝了Python編譯器,則應(yīng)該基本上都會幫預(yù)安裝好了tkinter框架。首先導(dǎo)入tkinter模塊,設(shè)置完成后,大家就可以開始使用Python構(gòu)建第一個GUI計算器了。大家可以通過使用tkinter模塊,在自己的電腦屏幕上實時觀看實現(xiàn)的視覺效果。然后,一旦弄熟悉了,就可以擴展并開始使用Python的其他GUI工具包。有興趣的朋友可以去查看有關(guān)Python上GUI編程的官方文檔。
https://www.python.org/search/?q=GUI&submit=
4.用python進行微博數(shù)據(jù)挖掘
借助互聯(lián)網(wǎng)以及越來越多的物聯(lián)網(wǎng),我們現(xiàn)在可以訪問成堆的數(shù)據(jù),而這些數(shù)據(jù)甚至十年前都還不可用。在當下這個世界,分析數(shù)據(jù)是處理數(shù)據(jù)的重要前提,人們在說什么?我們可以從他們的行為中看到什么模式?微博是獲得其中一些問題答案的好地方。
如果大家對數(shù)據(jù)分析感興趣,那么微博數(shù)據(jù)挖掘項目將會是一個不錯的既能提升python編程能力又能實現(xiàn)數(shù)據(jù)分析的好項目。微博情緒分析教程將教大家如何挖掘微博數(shù)據(jù)并使用SnowNLP環(huán)境分析用戶情緒。大家將看到如何使用Tweepy過濾要提取的內(nèi)容,用TextBlob來計算這些推文的情緒,Elasticsearch來分析其內(nèi)容以及Kibana來可視化結(jié)果。完成本教程后,大家應(yīng)該對深入研究使用Python進行文本處理和語音識別的領(lǐng)域有所了解了,可以參看下面鏈接。
https://blog.csdn.net/hzp666/article/details/78969150
5.用Flask建立自己的博客
現(xiàn)在的技術(shù)大佬基本上都有自己的博客,定期在上面分享一些自己的經(jīng)驗所得以此提升自己的名氣。但是這些都是基于別人家的博客平臺所建立的,如果能自己獨立建立自己的知識分享樞紐也是挺好的一件事情。
在Miguel Grinberg的這個項目中,大家將學習如何建立自己的微博客。如果大家認真看看,將會對Flask微型網(wǎng)絡(luò)框架有深入的了解。在該項目的最后,可以讓你獲得一個功能齊全的Web應(yīng)用程序。這個項目不要求練習者了解任何關(guān)于Flask的知識,因此對于那些渴望通過Web端就練出一手好技術(shù)的人來說,這簡直就是完美的選擇啊。另外該教程最近也進行了更新,更新內(nèi)容主要包含可以幫助大家成為更好的Web開發(fā)人員的內(nèi)容。啥也不說了,獻上鏈接。
https://github.com/miguelgrinberg/
6.建立區(qū)塊鏈
雖然區(qū)塊鏈最初是作為一種金融技術(shù)開發(fā)的,但它正在傳播到其他各種行業(yè)。區(qū)塊鏈幾乎可以用于任何類型的交易:從房地產(chǎn)交易到醫(yī)療記錄轉(zhuǎn)移。通過自己構(gòu)建,你就可以更加清晰明朗地了解其中的原理。
以下這份教程將幫助大家從頭開始實現(xiàn)區(qū)塊鏈,在這里你會用到HTTP客戶端和請求庫,安裝Flask網(wǎng)絡(luò)框架后,大家將能夠使用HTTP請求通過Internet與大家的區(qū)塊鏈進行通信。區(qū)塊鏈這東西不僅僅適合于高大上的金融行業(yè),也可以被我們這些加密愛好者拿來把玩。大家可以自己動手嘗試一下,不要害怕失敗。實現(xiàn)一個之后,說不定你就會認為自己可以在該領(lǐng)域中搞出創(chuàng)造性方法呢。
https://blog.csdn.net/bmwgaara/article/details/79059007
7.設(shè)置微信自動回復(fù)
如今微信已成為我們?nèi)粘I畹闹饕涣鞴ぞ撸嘈糯蠹叶加忻β档臅r候,不可能一直守在微信上及時回復(fù)消息。但是微信又不能像QQ一樣設(shè)置自動回復(fù),不妨大家可以用Python實現(xiàn)微信的自動回復(fù)功能,并且把接收到的消息統(tǒng)一發(fā)送到文件助手里面,方便統(tǒng)一查看,教程附上。
https://www.cnblogs.com/sui776265233/p/10590628.html
這里需要利用wxpy庫,wxpy基于itchat,使用了Web微信的通訊協(xié)議,通過大量接口優(yōu)化提升了模塊的易用性,并進行豐富的功能擴展。實現(xiàn)了微信登錄、收發(fā)消息、搜索好友、數(shù)據(jù)統(tǒng)計等功能??偠灾?,可用來實現(xiàn)微信個人號的各種自動化操作。
8.用PyGames來自己做游戲
這是給那些喜歡玩游戲的人專門分享的!?Python可用于編碼各種可以在幾天內(nèi)就搞定的街機游戲,冒險游戲和益智游戲,比如貪吃蛇,拳皇等經(jīng)典游戲,都可以通過python來實現(xiàn)。這里要用到pygame庫,它使得構(gòu)建自己的游戲變得更加容易,其中包含了大家開始開發(fā)游戲時所需的幾乎所有內(nèi)容,并且pygame是免費和開源的。里面的計算機圖形和聲音庫,可用于向應(yīng)用程序添加交互式功能。大家可以使用該庫做一個屬于自己的游戲,做完了,還能發(fā)給自己的同學或者對象,向他們裝個逼秀一下也是歪瑞因吹絲挺。

https://www.cnblogs.com/dengfaheng/p/9241267.html
9.視覺小說
如果大家看一些冒險小說,比如《三體》、《盜墓筆記》這些啊,那么大家可以用Python構(gòu)建一些很棒的視覺小說。此免費資源將指導(dǎo)大家完成用Python編寫基于文本的冒險游戲的過程。本教程假定大家是具有Python編程基礎(chǔ)的,另外呢還可以幫助大家縮小所學知識與如何使用該知識來構(gòu)建應(yīng)用程序之間的鴻溝。如果大家想使故事更上一層樓,可以使用Ren’Py等軟件引擎在游戲中添加聲音和圖像,從而制作出完整的視覺小說。Ren'Py幾乎支持所有視覺小說所應(yīng)該具有的功能,包括分支故事、存儲和加載游戲、回退到之前故事的存儲點、多樣性的場景轉(zhuǎn)換等。
https://zh.moegirl.org.cn/Ren%27Py
https://zhuanlan.zhihu.com/p/161374705
10.機器學習
近年來,人工智能深度學習可謂是非常火,萬物皆可深度學習。對于對人工智能感興趣的同學來說,機器學習是一個關(guān)鍵領(lǐng)域。但是,起步可能會令人很難受,因為涉及到的知識非常多。但是沒關(guān)系,在線上有很多資源可以幫助大家。Jason Brownlee撰寫的關(guān)于機器學習的教程非常經(jīng)典,其中就有很多利用Python進行機器學習的精彩介紹。大家可以在淘寶天貓京東等各大網(wǎng)站都能買到這位大佬的書。當大家開始做一些例子練習的時候,最好是去查閱教程庫存,在那里可以做很多東西,例如如何使用Python分析指紋,創(chuàng)建可視化效果以及識別語音和面部表情等等。
?
手機也可以寫py代碼
另外大家不要以為編程僅僅局限在電腦端,其實手機也可以寫程序。IOS 手機上也能寫 Python 代碼的App 叫 Pythonista。有一些小APP也是可以運行 Python程序?但是比較簡單,但是這款神器是專業(yè)級別。里面有很多 Python的庫,比如內(nèi)置了 Python2.7 和 Python3.6 的標準庫。安卓版的也有,大家可以去網(wǎng)上下載玩一玩,試試吧,萬一你就練成了python高手呢!
如果大家不確定要不要做上面列出的一些較大的項目,并且較小的項目也不感興趣,那么大家可能想知道還有什么我能用python來做的。還有什么可以激起大家的興趣呢?
?
編程挑戰(zhàn)
這里小蘇推薦一下編程挑戰(zhàn)。就是用Python來做一些題目,就類似一些數(shù)學題目,但是你用筆算很難算,思路很清晰,就是手算不出來,這時候python就可以派上用場了,用python來解這些數(shù)學題。編碼挑戰(zhàn)可以幫助大家練習Python技能,基本上涵蓋了Python的所有操作。
簡而言之:遇到了一個問題,自己動手打草稿,然后用python編程實現(xiàn)求解。通過一系列的報錯提示深入了解Python語言。編碼挑戰(zhàn)是一種了解庫,方法和框架的好方法。大家一定會找到自己想要自己探索的東西。
編碼挑戰(zhàn)有許多地方可以練習,比如??途W(wǎng),力扣網(wǎng),賽碼網(wǎng),上面有非常多的經(jīng)典的題目,都是在線python編程,非常方便。
顯然,Python是一種極為通用的語言,大家可以使用它做很多事情。但是python也不是萬能的。實際上,有些事情根本不適合使用Python。作為一種解釋型語言,Python很難與低級設(shè)備(例如設(shè)備驅(qū)動程序)進行交互。例如,如果大家想使用Python編寫操作系統(tǒng),那就很困難了。對于底層應(yīng)用程序,最好還是使用C或C ++。因為C才是最初級的高級語言。更牛的人還可以嘗試匯編語言,估計現(xiàn)在的年輕人也沒幾個能熟練使用匯編語言的。雖然python有局限性,但是局限可能也不會長期存在。因為為了證明Python有高度的靈活性,有些研究者就是正在研究將Python的可用性擴展到低級交互的項目。當然這些都是存在于大學和研究機構(gòu),有興趣的同學升學到研究生,選擇該課題進行研究,指不定下一個編程語言大佬就是你呢。
蘇世學社旗下品牌,專注于計算機考研
計算機考研一手資訊,原創(chuàng)高質(zhì)量干貨
深度的學習分享丨咨詢前輩丨個性化指導(dǎo)
