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

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

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

W3Cschool首先有两点建议:

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

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

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

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

AAffA0nNPuCLAAAAAElFTkSuQmCC

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

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

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

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

AAffA0nNPuCLAAAAAElFTkSuQmCC

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

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

3.操作系统系列

AAffA0nNPuCLAAAAAElFTkSuQmCC

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

4.周边系列

AAffA0nNPuCLAAAAAElFTkSuQmCC

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476599.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 866. 回文素数(除11外,偶数位的回文数都不是质数)

1. 题目 求出大于或等于 N 的最小回文素数。 回顾一下,如果一个数大于 1,且其因数只有 1 和它自身,那么这个数是素数。 例如,2,3,5,7,11 以及 13 是素数。 回顾一下,…

首个在ImageNet上精度超过80%的二值神经网络BNext问世,-1与+1的五年辛路历程

源 | 机器之心两年前,当 MeliusNet 问世时,机器之心曾发表过一篇技术文章《第一次胜过 MobileNet 的二值神经网络,-1 与 1 的三年艰苦跋涉》,回顾了 BNN 的发展历程。彼时,依靠早期 BNN 工作 XNOR-Net 起家的 XNOR.AI…

中countif函数_countif与countifs:单条件与多条件计数适用场景

countif()的语法图丑~~图丑~~见谅~~Countif函数:对指定区域中符合指定条件的单元格计数。该函数的语法规则如下:countif(range,criteria)参数:range 要计算其中非空单元格数目的区域参数:criteria 以数字、表达式或文本形式定义的…

极大似然模型1

first_step.m%clear; syms rou fai2 k1 k2 k3 n rorn ii clc; ninput(观测时刻数 n); disp( dealing ); disp(Just wait for a few minutes............); k1sym((1-rou*rou)*(1-fai2*fai2)*Xmn(rorn,1)*Xmn(rorn,1)); k2sym((1-fai2^2)*(Xmn…

LeetCode 1177. 构建回文串检测(前缀和)

1. 题目 给你一个字符串 s,请你对 s 的子串进行检测。 每次检测,待检子串都可以表示为 queries[i] [left, right, k]。我们可以 重新排列 子串 s[left], ..., s[right],并从中选择 最多 k 项替换成任何小写英文字母。 如果在上述检测过程…

张俊林:ChatGPT会成为下一代搜索引擎吗

文|张俊林知乎本文将从以下几个方面展开:引言ChatGPT的技术原理ChatGPT能否取代Google、百度等传统搜索引擎引言作为智能对话系统,ChatGPT最近两天爆火,都火出技术圈了,网上到处都在转ChatGPT相关的内容和测试例子,效果…

k8s dashboard_k8s集群部署Dashboard

部署Dashboard(Web UI)* dashboard-deployment.yaml // 部署Pod,提供Web服务 * dashboard-rbac.yaml // 授权访问apiserver获取信息 * dashboard-service.yaml // 发布服务,提供对外访问 ​…

.Net笔试题 有答案

在对SQL Server 数据库操作时应选用(a)。 a)SQL Server .NET Framework 数据提供程序; b)OLE DB .NET Framework 数据提供程序; c)ODBC .NET Framework 数据提供程序; d)Oracle .NET Framework数据提供程序&#x…

程序员面试金典 - 面试题 17.13. 恢复空格(DP+Trie树)

文章目录1. 题目2. 解题2.1 动态规划2.2 Trie树1. 题目 哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。 像句子"I reset the computer. It still didn’t boot!"已经变成了"iresetthecomputeri…

2022的结尾,对话系统起飞了

文 | 郑楚杰知乎编者记:近日来,ChatGPT的连续刷屏让人们重新看到了AI的希望,编者通过对ChatGPT的试用,发现其对话能力早已不同于两年前的对话系统了,可以说,有了质的飞跃,向着用户体验奇点迈进了…

python清除列表内容_Python 列表的清空方式

情况列表的操作: del list[:] list[] list[:][] def func(L): L.append(1) print L #L[:][] #del L[:] L [] print L L[] func(L) print L 输出结果: [1] [] [1] 分析:L是可变数据类型,L作为参数,函数内对L的改变&…

ASP.NET小收集:Word的编码是Unicode

Word的编码是Unicode&#xff0c;从Word连接的超链接会附带Unicode编码进行打开&#xff0c;所以&#xff0c;如果没有对链接页面设定编码&#xff0c;将出现乱码&#xff0c;解决方法之一&#xff1a;设置编码为UTF-8<meta http-equiv"Content-Type" content&quo…

程序员面试金典 - 面试题 05.08. 绘制直线(位运算)

1. 题目 绘制直线。有个单色屏幕存储在一个一维数组中&#xff0c;使得32个连续像素可以存放在一个 int 里。 屏幕宽度为w&#xff0c;且w可被32整除&#xff08;即一个 int 不会分布在两行上&#xff09;&#xff0c;屏幕高度可由数组长度及屏幕宽度推算得出。 请实现一个函数…

FarPoint Spread For .Net 4.0

FarPoint Spread For .Net 4.0 ftp://ftp.fpoint.com/Trials/SpreadWinForm/spwin.zip http://www.fpoint.com:8080/files/Trials/SpreadWinForm/spwinframework35.zip 转载于:https://www.cnblogs.com/Tonyyang/archive/2008/06/23/1228133.html

入职比你晚,薪资比你高,礼貌吗

文&#xff5c; 穆胜咨询研究院源&#xff5c; 穆胜咨询秋招已过&#xff0c;企业迎来了许多新的面孔&#xff0c;对于很多老员工来说却是五味杂陈。新人空降拿到高工资&#xff0c;而自己的资历却换不来期待幅度的涨薪。“新老员工薪资倒挂”的问题&#xff0c;本就是HR的一道…

乐学python_【IT专家】铁乐学python

铁乐学 python 2018/04/18 13 铁乐学 python_day23_ 面向对象进阶 1_ 反射 以下内容大部分摘自博客 cnblogs/Eva-J/ isinstance() 和 issubclass() 两者的返回值都是布尔值 isinstance() 能够检测到继承关系 type() 只能单纯的判 断类 isinstance() 判断一个对象和一个类有没有…

程序员面试金典 - 面试题 16.14. 最佳直线(哈希map+set)

1. 题目 给定一个二维平面及平面上的 N 个点列表Points&#xff0c;其中第i个点的坐标为Points[i][Xi,Yi]。 请找出一条直线&#xff0c;其通过的点的数目最多。 设穿过最多点的直线所穿过的全部点编号从小到大排序的列表为S&#xff0c;你仅需返回[S[0],S[1]]作为答案 若有多…

Visual C# 2008+SQL Server 2005 数据库与网络开发--13.1.1 菜单创建

创建菜单的方法大体可以包括两种&#xff0c;比较简单的方法是通过Visual Studio 2008提供的菜单设计工具来创建&#xff0c;这种方式创建的菜单比较固定。另外一种方式是通过后台程序创建&#xff0c;这种方式由于通过代码在窗体菜单加载的时候完成&#xff0c;所以编写过程相…

c语言数据类型_C语言基础数据类型

点击上方“C语言中文社区”&#xff0c;选择“设为星标★”技术干货第一时间送达&#xff01;基本类型基本类型就是我们在使用C语言时最基础的数据类型&#xff0c;包括整形(短整型&#xff0c;基本整型&#xff0c;长整型)、字符型、浮点型(单、双精度)以及枚举类型。构造类型…

为辨别offer含金量,我做了个时薪计算器

文 | 曹宾玲源 | 表外表里提到计算机专业&#xff0c;大部分人第一时间会联想到“万金油专业”“大厂”和“高薪”。但在2023届计算机毕业生眼里&#xff0c;这已经是过去式了。以前被嫌弃的华子&#xff0c;今年校招群里挤满了人&#xff0c;即使一直泡在“人才池”里&#xf…