适合Python的5大练手项目,你练了么?

新闻 前端
在练手项目的选择上,还存在疑问?不知道要从哪种项目先下手?接下来就给大家介绍几种适合新手的练手项目。

在练手项目的选择上,还存在疑问?不知道要从哪种项目先下手?

首先有两点建议:

  • ***不要写太应用的程序练手,要思考什么更像是知识,老只会写写爬虫是无用的,但是完全不写也不行。

  • 对于练手的程序,要注意简化和抽象,但是如果简化不得当的话,很容易看几篇教程就被懒得下手了。

接下来就给大家介绍几种适合新手的练手项目。


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

[[228641]]

Python写swap很方便,就一句话(a, b = b, a),于是写基于比较的排序能短小精悍。刚上手一门新语言练算法最合适不过了,还能顺便刷题,利于找工作。简单的练习,让你受益无穷。

1.编译系列

[[228642]]

这个系列的重点就是前面说到的简化,但是不要指望一口气写一个完整的C编译器,即使只针对C一个很小的子集。所以我们需要一步一步来,写一个计算器的解释器是很好的开始,再进一步可以写一个极简语言的解释器,譬如brainfuck。

再进一步你可以扩展已有的计算器解释器,譬如加入声明、赋值与运算、循环、流程控制, 构成一个简单的LL(1)语法,然后递归下降分析,这就可以搞一个简易同时又图灵完备的玩具语言出来了。

2.分布式系统/计网系列

适合Python 新手的5大练手项目,你练了么?

这系列的项目,***步可以从写一个简单的HTTP客户端开始,原因很简单,因为HTTP大概是最简单的应用层协议了。然后可以考虑实现一个基本的ssh,你大概每天都会用ssh,难道不想做一个自己的简易版本吗?

然后可以考虑分布式系统课上的经典作业,譬如写一个简单的RPC。可以参考Java的RPC原理以及Google的RPC框架(有Python版)。

3.操作系统系列

[[228643]]

操作系统系列,可以尝试写一个简单的存储管理的文件系统。***步的简化就是用一个大的空文件作为磁盘,把对磁盘的读写抽象成对这个文件的读写。基本就是实现下inode,然后包装成一个shell,支持下最基本的命令,新建、追加、读写、删除之类的操作。这个练习最有趣也最有意义的地方在于多级索引的实现,

4.周边系列

适合Python 新手的5大练手项目,你练了么?

你也可以试试Jython,IronPython之类的,看看和CPython比如何。然后再试试Pypy,必然是一开始很高兴,***发现各种常见库不支持,***还是转回CPython。

做实验的话用IPython把Python函数当命令跑很方便。

责任编辑:张燕妮 来源: W3Cschool
相关推荐

2019-08-30 15:14:55

Python开发工具

2018-12-11 14:20:14

Python技巧编程语言

2018-05-07 08:29:56

机器学习开源适合

2011-02-21 14:35:13

浏览器Chrome火狐

2023-05-15 16:46:03

2021-04-27 09:00:00

PythonIDE开发

2021-12-03 10:15:10

FlowTypescript开发

2021-09-13 09:52:11

Python项目连接器

2021-03-12 11:50:08

项目组件 API

2021-10-28 17:40:22

Nest.js前端代码

2021-09-18 12:05:59

Python 开发编程语言

2023-10-08 13:42:00

Python Web框架

2012-03-02 09:12:54

jQuery MobijQTouchSencha Touc

2016-03-09 10:12:56

2011-09-29 13:32:45

iPhone阅读

2015-10-20 16:47:30

2020-12-08 22:05:37

Python编程语言开发

2012-04-10 15:09:21

云计算

2020-11-09 14:26:30

GitHub 技术开源

2017-10-28 23:35:08

CSS框架开发工具
点赞
收藏

51CTO技术栈公众号