午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

適合Python 新手的5大練手項目,你練了么?

 習悟齋 2018-06-04

適合Python 新手的5大練手項目,你練了么?

已經(jīng)學習了一段時間的Python,如果你看過之前W3Cschool的文章,就知道是時候該進去【項目】階段了。

但是在練手項目的選擇上,還存在疑問?不知道要從哪種項目先下手?

W3Cschool首先有兩點建議:

  • 最好不要寫太應用的程序練手,要思考什么更像是知識,老只會寫寫爬蟲是無用的,但是完全不寫也不行。

  • 對于練手的程序,要注意簡化和抽象,但是如果簡化不得當?shù)脑?,很容易看幾篇教程就被懶得下手了?/p>

接下來就給大家介紹幾種適合新手的練手項目。


0.算法系列-排序與查找

適合Python 新手的5大練手項目,你練了么?

Python寫swap很方便,就一句話(a, b = b, a),于是寫基于比較的排序能短小精悍。剛上手一門新語言練算法最合適不過了,還能順便刷題,利于找工作。簡單的練習,讓你受益無窮。

1.編譯系列

適合Python 新手的5大練手項目,你練了么?

這個系列的重點就是前面說到的簡化,但是不要指望一口氣寫一個完整的C編譯器,即使只針對C一個很小的子集。所以我們需要一步一步來,寫一個計算器的解釋器是很好的開始,再進一步可以寫一個極簡語言的解釋器,譬如brainfuck。

再進一步你可以擴展已有的計算器解釋器,譬如加入聲明、賦值與運算、循環(huán)、流程控制, 構(gòu)成一個簡單的LL(1)語法,然后遞歸下降分析,這就可以搞一個簡易同時又圖靈完備的玩具語言出來了。

2.分布式系統(tǒng)/計網(wǎng)系列

適合Python 新手的5大練手項目,你練了么?

這系列的項目,第一步可以從寫一個簡單的HTTP客戶端開始,原因很簡單,因為HTTP大概是最簡單的應用層協(xié)議了。然后可以考慮實現(xiàn)一個基本的ssh,你大概每天都會用ssh,難道不想做一個自己的簡易版本嗎?

然后可以考慮分布式系統(tǒng)課上的經(jīng)典作業(yè),譬如寫一個簡單的RPC??梢詤⒖糐ava的RPC原理以及Google的RPC框架(有Python版)。

3.操作系統(tǒng)系列

適合Python 新手的5大練手項目,你練了么?

操作系統(tǒng)系列,可以嘗試寫一個簡單的存儲管理的文件系統(tǒng)。第一步的簡化就是用一個大的空文件作為磁盤,把對磁盤的讀寫抽象成對這個文件的讀寫?;揪褪菍崿F(xiàn)下inode,然后包裝成一個shell,支持下最基本的命令,新建、追加、讀寫、刪除之類的操作。這個練習最有趣也最有意義的地方在于多級索引的實現(xiàn),

4.周邊系列

適合Python 新手的5大練手項目,你練了么?

你也可以試試Jython,IronPython之類的,看看和CPython比如何。然后再試試Pypy,必然是一開始很高興,最后發(fā)現(xiàn)各種常見庫不支持,最后還是轉(zhuǎn)回CPython。

做實驗的話用IPython把Python函數(shù)當命令跑很方便。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多