山东省高中信息技术学业水平考试试题网 - 数据与计算|信息系统与社会|数据与数据结构|网络基础|数据管理与分析|移动应用设计|三维设计与创意|开源硬件项目设计|算法初步|智能系统初步

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 163|回复: 0
收起左侧

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

[复制链接]

247

主题

638

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647
QQ
发表于 2019-1-16 11:05:18 | 显示全部楼层 |阅读模式


已经学习了一段时间的Python,如果你看过之前W3Cschool的文章,就知道是时候该进去【项目】阶段了。

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

W3Cschool首先有两点建议:

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

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

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

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



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

1.编译系列



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

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

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



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

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

3.操作系统系列



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

4.周边系列



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

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
+1
163°C
沙发哦 ^ ^ 马上

帖子地址: 

教书育人!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站务公告栏:
百度一下 百度二下 百度三下 开门大吉

QQ|Archiver|手机版|小黑屋|山东省高中信息技术学业水平考试试题网 ( 鲁ICP备16049757号 )|网站地图

GMT+8, 2019-4-19 20:46 , Processed in 0.241623 second(s), 33 queries .

快速回复 返回顶部 返回列表

商品:夏季新款背心冰丝绸吊带睡衣女夏韩版性感两件套短裤套装
原价:36.80元 券后价:26.8元
购买链接:Click here!
推荐理由:选用高雅精致仿真丝面料,大量运用冰丝,蕾丝等浪漫灵空材质,凸显浪漫优雅气质,蕾丝花边领口造型,手感舒适,质地轻薄,性感又充满少女气息,纵享般丝滑的睡眠,元气少女必备! top100:43
优惠券领取处:Click here!
优惠券推送群:Click here!