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

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

W3Cschool首先有两点建议:

最好不要写太应用的程序练手,要思考什么更像是知识,老只会写写爬虫是无用的,但是完全不写也不行。学习资料的话可以关注薇信公众号:Python工程师,号码是Pythono

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

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

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

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

这个系列的重点就是前面说到的简化,但是不要指望一口气写一个完整的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函数当命令跑很方便。

python能做什么项目-适合Python 新手的5大练手项目,你练了么?相关推荐

  1. python可以做什么项目-适合Python 新手的5大练手项目,你练了么?

    已经学习了一段时间的Python,如果你看过之前W3Cschool的文章,就知道是时候该进去[项目]阶段了. 但是在练手项目的选择上,还存在疑问?不知道要从哪种项目先下手? W3Cschool首先有两 ...

  2. python适合做什么生意_适合Python的5大练手项目,你练了么?

    在练手项目的选择上,还存在疑问?不知道要从哪种项目先下手? 首先有两点建议: 最好不要写太应用的程序练手,要思考什么更像是知识,老只会写写爬虫是无用的,但是完全不写也不行. 对于练手的程序,要注意简化 ...

  3. python新手练习项目_适合Python 新手的5大练手项目,你练了么?

    已经学习了一段时间的Python,如果你看过之前W3Cschool的文章,就知道是时候该进去[项目]阶段了. 但是在练手项目的选择上,还存在疑问?不知道要从哪种项目先下手? W3Cschool首先有两 ...

  4. python新手项目-推荐:一个适合于Python新手的入门练手项目

    原标题:推荐:一个适合于Python新手的入门练手项目 随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人 ...

  5. python 适合做什么生意好_推荐 10 个有趣的 Python 练手项目

    想成为一个优秀的Python程序员,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以为之后的大开发项目积攒经验,做好准备. 但不少人都在为开发什么项目而苦恼. 因此,我为大 ...

  6. python新手小项目-推荐:一个适合于Python新手的入门练手项目

    随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python 有个Python入门练手项目, ...

  7. python新手程序_推荐:一个适合于Python新手的入门练手项目

    随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python 有个Python入门练手项目, ...

  8. python新手入门项目推荐_推荐:一个适合于Python新手的入门练手项目

    随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python 有个Python入门练手项目, ...

  9. 适合新手入门的8个python项目_推荐:一个适合于Python新手的入门练手项目

    随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python 有个Python入门练手项目, ...

最新文章

  1. java nio 强制关闭_netty 处理远程主机强制关闭一个连接
  2. oracle 体系结构认识,Oracle体系结构总体认识
  3. 在字符串中附加格式化的字符串
  4. .NET6之MiniAPI(四):配置
  5. 悲情天才沃尔特·皮兹
  6. 《图解机器学习-杉山将著》读书笔记---CH5
  7. 2010第六届中国移动互联网TOP50
  8. Go语言 gorutine和channel协同工作经典应用案例 (Golang经典编程案例)
  9. C语言程序设计(2020)编程题答案——第14章结构体、共用体和用户定义类型
  10. linux配置mysql全局环境变量,Linux 配置 jdk mysql 环境变量
  11. 解决谷歌浏览器:Flash插件初始化失败,请更新您的FlashPlayer版本之后重试!
  12. Android studio设计一个简易微信界面
  13. 狂神docker学习笔记
  14. 开源中国社区开源项目排行榜
  15. 这么有“艾”的端午节,此处应@博物杂志!
  16. 大厂可能真不像你想象的那样系列之阿里
  17. VS 2008 Express
  18. matlab二维数组访问和删除
  19. 〖Python 数据库开发实战 - MongoDB篇⑥〗- MongoDB的用户管理
  20. 使用MQTT连接华为云的物联网平台(二)

热门文章

  1. 面向对象编程(五):数据抽象
  2. Qt控件总结:QToolButton
  3. 用C语言实现猜单词的小游戏
  4. 第三篇 层次类非线性表的编程实验 第10章 应用经典二叉树编程
  5. 第二阶段冲刺总结01
  6. 前端见微知著AngularJS备忘篇:温故而知新,可以为师矣
  7. firefox css3 transform样式 位置偏移问题解决
  8. Test SRM Level Two: CountExpressions, Brute Force
  9. HDU 4379 水题,大水,但我WA了很多次,做了很久
  10. Vijos P1571 笨笨的导弹攻击【最长上升子序列+DP】