新聞中心
在練手項(xiàng)目的選擇上,還存在疑問?不知道要從哪種項(xiàng)目先下手?

專注于為中小企業(yè)提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)海港免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
首先有兩點(diǎn)建議:
-
***不要寫太應(yīng)用的程序練手,要思考什么更像是知識(shí),老只會(huì)寫寫爬蟲是無用的,但是完全不寫也不行。
-
對于練手的程序,要注意簡化和抽象,但是如果簡化不得當(dāng)?shù)脑?,很容易看幾篇教程就被懶得下手了?/p>
接下來就給大家介紹幾種適合新手的練手項(xiàng)目。
0.算法系列-排序與查找
Python寫swap很方便,就一句話(a, b = b, a),于是寫基于比較的排序能短小精悍。剛上手一門新語言練算法最合適不過了,還能順便刷題,利于找工作。簡單的練習(xí),讓你受益無窮。
1.編譯系列
這個(gè)系列的重點(diǎn)就是前面說到的簡化,但是不要指望一口氣寫一個(gè)完整的C編譯器,即使只針對C一個(gè)很小的子集。所以我們需要一步一步來,寫一個(gè)計(jì)算器的解釋器是很好的開始,再進(jìn)一步可以寫一個(gè)極簡語言的解釋器,譬如brainfuck。
再進(jìn)一步你可以擴(kuò)展已有的計(jì)算器解釋器,譬如加入聲明、賦值與運(yùn)算、循環(huán)、流程控制, 構(gòu)成一個(gè)簡單的LL(1)語法,然后遞歸下降分析,這就可以搞一個(gè)簡易同時(shí)又圖靈完備的玩具語言出來了。
2.分布式系統(tǒng)/計(jì)網(wǎng)系列
這系列的項(xiàng)目,***步可以從寫一個(gè)簡單的HTTP客戶端開始,原因很簡單,因?yàn)镠TTP大概是最簡單的應(yīng)用層協(xié)議了。然后可以考慮實(shí)現(xiàn)一個(gè)基本的ssh,你大概每天都會(huì)用ssh,難道不想做一個(gè)自己的簡易版本嗎?
然后可以考慮分布式系統(tǒng)課上的經(jīng)典作業(yè),譬如寫一個(gè)簡單的RPC。可以參考Java的RPC原理以及Google的RPC框架(有Python版)。
3.操作系統(tǒng)系列
操作系統(tǒng)系列,可以嘗試寫一個(gè)簡單的存儲(chǔ)管理的文件系統(tǒng)。***步的簡化就是用一個(gè)大的空文件作為磁盤,把對磁盤的讀寫抽象成對這個(gè)文件的讀寫?;揪褪菍?shí)現(xiàn)下inode,然后包裝成一個(gè)shell,支持下最基本的命令,新建、追加、讀寫、刪除之類的操作。這個(gè)練習(xí)最有趣也最有意義的地方在于多級索引的實(shí)現(xiàn),
4.周邊系列
你也可以試試Jython,IronPython之類的,看看和CPython比如何。然后再試試Pypy,必然是一開始很高興,***發(fā)現(xiàn)各種常見庫不支持,***還是轉(zhuǎn)回CPython。
做實(shí)驗(yàn)的話用IPython把Python函數(shù)當(dāng)命令跑很方便。
本文題目:適合Python的5大練手項(xiàng)目,你練了么?
本文URL:http://www.5511xx.com/article/djejhes.html


咨詢
建站咨詢
