网站在线设计,网站小程序开发公司,wordpress收发邮件功能,做网站需要购买网站空间吗已经学习了一段时间的Python#xff0c;如果你看过之前W3Cschool的文章#xff0c;就知道是时候该进去【项目】阶段了。
但是在练手项目的选择上#xff0c;还存在疑问#xff1f;不知道要从哪种项目先下手#xff1f;
W3Cschool首先有两点建议#xff1a;
最好不要写太应…已经学习了一段时间的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.周边系列你也可以试试JythonIronPython之类的看看和CPython比如何。然后再试试Pypy必然是一开始很高兴最后发现各种常见库不支持最后还是转回CPython。
做实验的话用IPython把Python函数当命令跑很方便。