作者:骆昊
说明:如果访问 GitHub 比较慢的话,可以关注我的知乎号(Python-Jack),上面的“从零开始学Python”专栏(对应本项目前 20 天的内容)比较适合初学者,其他的专栏如“数据思维和统计思维”、“基于Python的数据分析”、“说走就走的AI之旅”等也在持续创作和更新中,欢迎大家关注、点赞和评论。如果希望免费学习打卡或者参与问题讨论,可以加入下面的 QQ 交流群(三个群加一个即可),请不要重复加群,也不要在群里发布广告和其他色情、低俗或敏感内容。如果有付费学习或付费咨询的需求,可以添加我的私人微信(微信号:jackfrued),备注好自己的称呼和需求,我会为大家提供力所能及的帮助。
![]()
本项目对应的部分视频已经同步到 Bilibili,有兴趣的小伙伴可以点赞、投币、关注,一键三连支持一下!
简单的说,Python是一个“优雅”、“明确”、“简单”的编程语言。
Python在以下领域都有用武之地。
作为一名Python开发者,根据个人的喜好和职业规划,可以选择的就业领域也非常多。
说明:目前,数据科学赛道是非常热门的方向,因为不管是互联网行业还是传统行业都已经积累了大量的数据,各行各业都需要数据科学家从已有的数据中发现更多的商业价值,从而为企业的决策提供数据的支撑,这就是所谓的数据驱动决策。
给初学者的几个建议:
HttpResponse修改响应头StreamingHttpResponse处理大文件xlwt生成Excel报表reportlab生成PDF报表requests三方库实现数据抓取软件过程模型
经典过程模型(瀑布模型)
瀑布模型最大的缺点是无法拥抱需求变化,整套流程结束后才能看到产品,团队士气低落。
敏捷开发(Scrum)- 产品所有者、Scrum Master、研发人员 - Sprint
补充:敏捷软件开发宣言
- 个体和互动 高于 流程和工具
- 工作的软件 高于 详尽的文档
- 客户合作 高于 合同谈判
- 响应变化 高于 遵循计划

角色:产品所有者(决定做什么,能对需求拍板的人)、团队负责人(解决各种问题,专注如何更好的工作,屏蔽外部对开发团队的影响)、开发团队(项目执行人员,具体指开发人员和测试人员)。
准备工作:商业案例和资金、合同、憧憬、初始产品需求、初始发布计划、入股、组建团队。
敏捷团队通常人数为8-10人。
工作量估算:将开发任务量化,包括原型、Logo设计、UI设计、前端开发等,尽量把每个工作分解到最小任务量,最小任务量标准为工作时间不能超过两天,然后估算总体项目时间。把每个任务都贴在看板上面,看板上分三部分:to do(待完成)、in progress(进行中)和done(已完成)。
项目团队组建
团队的构成和角色

编程规范和代码审查(flake8、pylint)

Python中的一些“惯例”(请参考《Python惯例-如何编写Pythonic的代码》)
影响代码可读性的原因:
团队开发工具介绍
请参考《团队项目开发的问题和解决方案》。
选题范围设定
CMS(用户端):新闻聚合网站、问答/分享社区、影评/书评网站等。
MIS(用户端+管理端):KMS、KPI考核系统、HRS、CRM系统、供应链系统、仓储管理系统等。
App后台(管理端+数据接口):二手交易类、报刊杂志类、小众电商类、新闻资讯类、旅游类、社交类、阅读类等。
其他类型:自身行业背景和工作经验、业务容易理解和把控。
需求理解、模块划分和任务分配

制定项目进度表(每日更新)
| 模块 | 功能 | 人员 | 状态 | 完成 | 工时 | 计划开始 | 实际开始 | 计划结束 | 实际结束 | 备注 |
|---|---|---|---|---|---|---|---|---|---|---|
| 评论 | 添加评论 | 王大锤 | 正在进行 | 50% | 4 | 2018/8/7 | 2018/8/7 | |||
| 删除评论 | 王大锤 | 等待 | 0% | 2 | 2018/8/7 | 2018/8/7 | ||||
| 查看评论 | 白元芳 | 正在进行 | 20% | 4 | 2018/8/7 | 2018/8/7 | 需要进行代码审查 | |||
| 评论投票 | 白元芳 | 等待 | 0% | 4 | 2018/8/8 | 2018/8/8 |
OOAD和数据库设计
UML(统一建模语言)的类图

通过模型创建表(正向工程),例如在Django项目中可以通过下面的命令创建二维表。
python manage.py makemigrations app
python manage.py migrate
使用PowerDesigner绘制物理模型图。

通过数据表创建模型(反向工程),例如在Django项目中可以通过下面的命令生成模型。
python manage.py inspectdb > app/models.py
unittest、pytest、nose2、tox、ddt、……)coverage)面试宝典
机器学习数学基础
深度学习