上周我整理了一篇 学了 Python 能用来做什么?,介绍了下 Python 当下的一些应用场景,给打算学习或刚学习此语言的同学一个参考。当然也有人说这个内容太水了,甚至觉得我是抄来的。这没办法,不管谁来写,应用场景也就是这些,况且知乎上关于有哪些使用 Python 的公司那个回答也是我最早在2013年整理的。
其实那篇文章本是个引子,主要是我想回顾下自己用 Python 做过的事情。后来发现内容太多就拆成了两篇。今天就来分享下我自己的 Python 开发经历。(这不会再有人说是网上抄来的吧。)当然肯定会有人看不上这些微小的工作,不过如果让一部分同学,尤其是学完基础想要找点方向找点项目进一步深入的同学能有一些启发,也就够了。
【工作篇】
1. 网站后台
做项目是最快的学习方式。我比较幸运,在还不会 Python 的时候就接到了一个兼职项目:和同学一起开发一个文书翻译网站。因为大家的网站开发经验都不多,项目时间也比较紧,于是最终选定了 Django 框架。通过这个项目,我完成了 Python 和 Web 开发的入门。
一个提供留学申请的咨询、翻译等服务的网站
后来作为后端工程师加入一个创业团队。这一次,不仅是网站,而是通过 RESTful API 实现前后端分离,一个后台同时支持 PC 网页、移动页面、App、微信公众号。Python 及其框架的开发效率很高,因此很适合小团队快速开发的需求。期间我和另一位 ACM 班的学弟用11天就开发了一个完整的网站产品。
一个小众的项目,或许有同学还知道
2. 游戏后台
这是我主导技术开发的一个创业项目。对于非实时对战的弱联网游戏来说,游戏后台和网站后台并无本质的不同。只不过游戏项目可能需要应对更高的并发,以及不断更新的运营需求。可能很多人都觉得 Python 效率慢,但正如 Instagram 在 PyCon 大会上的演讲里所说,直到他们的用户数超过 int 的最大值(约20亿),Django 框架本身也没有成为瓶颈。事实上绝大多数的瓶颈在于开发者写的代码逻辑,这个锅不要扔给语言。
另外值得一提的是,我们游戏引擎用的是使用 C++ 的 cocos2d-x,而它的起源就是 cocos2d-python。
动作卡牌类对战手游
3. 影院点播系统
这是一个朋友的线下连锁项目,我帮忙开发了早期的点播系统,效果类似于 KTV 里的点歌机。开发时间不到一个月,但却使用了很长一段时间,为他们的业务提供了必要保障。此项目仍在运营中,且发展得很好,或许你们有人就去体验过。
网上找了张不相干的图片作为示意,非实际系统
4. 计算机视觉
目前正在参与的,与某国外大厂的合作项目,主要涉及数字图像处理和计算机视觉相关的算法和产品开发,也会用到一些深度学习算法。Python 是主要开发语言,包括原型产品的 GUI 界面、硬件接口调用等也多半选择用 Python 实现。
顺便夹带个私货:在我的知识星球或在朋友圈的同学前几天可能有看到我发的招聘,目前仍然有效,欢迎有图像和视觉相关经验的朋友加入,实习/全职皆可。项目细节暂不方便透露更多,给几个关键词:定位、寻路、检测。有想法的请给我留言。
放个摄像头意思一下
在大约十年前,我在学校的时候,做了一个基于摄像头的动作识别系统,当时是用的 C++。现如今相关技术已经成熟许多,而其中使用到的 OpenCV、libSVM,以及近年出现的 OpenPose 都有了 Python 实现,比当时开发起来要更加方便许多。
真人出镜
5. 编程教室
crossincode.com
单独拿出来说下,因为这是完全由我个人开发、长期维护的项目,是一个用 Python 开发的、可以在线执行 Python 的代码的 Python 学习网站。
关于其中这个在线写 Python 的小功能,我还有幸在几年前的某届 PyCon China 上介绍过,那时候项目刚刚开始不久。此功能网站上有入口,公众号里回复 code 也可以看到。
后来这个功能也被我搬上了微信小程序,只是因为想再完善一下,多增加点功能,所以我后来一直没怎么对外说,打算下半年做一些更新。
小程序里搜索 Python入门指南
以上这些就是我用 Python 开发的一些商业项目。可以看出,我的开发经历主要集中在 Web 开发,且都是使用的 Django 框架。另外因为以前的专业方向相关,对于图形图像视觉等方面有一些无足挂齿的研究。
【教学篇】
在创建了编程教室之后,我以及之前参与过的几位助教开发了不少教学项目,一部分我们保留在了码上行动和实战训练营的课程里,另一部分作为演示案例,放在了
lab.crossincode.com 上,网站上通过 实战项目 栏目可以进入查看效果。
以下是主要的一些项目,公众号里回复关键词可以查看项目代码和详细说明的地址:
关键词:电影票
码上行动及训练营中的部分教学案例:
另外在微信教程里,大家也都看过的 猜数字、查天气、打飞机小游戏、罚点球小游戏、统计分数 等的教学代码。除此之外,还有我平常自己写的自用小工具,比如 查询火车票、批量处理文件、新番提示、自动发帖机 等等,这里不再一一列举。
这些大约就是我用 Python 做过的事情,没太多了不起的东西,但都是一行行代码写过来。对于每个编程学习者来说,当你的代码量足够多时,代码能力自然会有质的提升。所以
Talk is cheap.
Show me the Code.
本文分享自 Crossin的编程教室 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!