算法组 Python 培训计划
第一周
基础开发环境
主要内容:Linux 系统安装和使用;
参考资料:https://linuxmint.com/
检验标准:为开发笔记本安装 Linux 系统,或使用 Mac 系统登录 Linux 服务器,熟悉基本使用方法
文本编辑器
主要内容:文本编辑器的使用
参考资料:https://neovim.io/
检验标准:安装 neovim 并进行基本的文本编辑
数据分析框架
主要内容:Anaconda 安装和使用
参考资料:https://www.anaconda.com/distribution/
检验标准:安装 Anaconda 并正常启动
交互开发环境
主要内容:Python 交互环境使用
参考资料:https://ipython.org/
检验标准:掌握使用 IPython 进行程序开发的基本流程
第二周
环境管理
Python 包管理,virtualenv 管理
参考资料:
-
https://conda.io/en/latest/
-
https://pip.pypa.io/en/stable/
检验标准:使用 conda 和 pip 创建 virtual env
数据分析工具
主要内容:结合离散度算子学习 Pandas 和 Numpy 的基本使用方法,看懂离散度计算流程;
参考资料:
-
http://pandas.pydata.org/
-
https://www.numpy.org/
-
基于集散率的光伏组串故障预警算法文档
检验标准:重现集散率计算结果,说明计算原理和流程
常用数据分析模式
主要内容:Split-apply-combine 模式在 Python 中的实现方法;
参考资料:https://pandas.pydata.org/pandas-docs/stable/user_guide/groupby.html
检验标准:说明模式原理,使用 Python/R 编写并运行一个基本的 split-apply-combine demo
算法文档编写
主要内容:Rmd语法和工具,使用 RStudio 编写算子定义,按照指定格式输出文档;
参考资料:https://rmarkdown.rstudio.com/
检验标准:使用 Rmarkdown 格式编写简单的算法说明文档,输出为 Word/HTML 格式
第三周
代码风格检查
主要内容:Python coding style guide,格式检查和修改工具;
参考资料:
-
https://flake8.readthedocs.io/en/latest/
-
https://github.com/google/yapf
-
https://github.com/w0rp/ale
检验标准:在文本编辑器/IDE中使用格式检查工具发现和修正语法/逻辑错误,保证代码符合代码规范
单元测试
主要内容:Python doctest 和 unit test framework 在数据分析中的应用;
参考资料:
-
https://docs.python.org/3/library/doctest.html
-
https://docs.pytest.org/en/latest/
检验标准:使用 doctest/pytest 编写简单的单元测试代码并运行测试
版本控制
主要内容:代码、文档和数据的版本控制(git, dvc);
参考资料:
-
https://git-scm.com/
-
https://dvc.org/
检验标准:掌握版本控制的基本原理,使用 git, dvc 实现基本的代码,数据文件的版本控制
第四周
类型标示
主要内容:Python type system 在数据分析中的应用;
参考资料:https://www.python.org/dev/peps/pep-0484/
检验标准:掌握类型标记的作用和实现方法,能为函数添加简单的 type hints
程序加密和打包
主要内容:Python 算子打包发布实践;
参考资料:
-
https://github.com/pypa/pipenv
-
https://github.com/liftoff/pyminifier
-
https://www.pyinstaller.org/
检验标准:使用 pipenv 定义算子开发环境,使用 pyminifier 加密算子,使用 pyinstaller 为算子打包
算子开发
主要内容:平台算子开发:在平台上结合CSV输入输出实现计算流程,分析错误日志,实现可运行的平台算子。
参考资料:GICS平台算子开发用户手册
检验标准:在 GICS 平台上结合 CSV input/output 算子创建基本的 自定义Python算子, 掌握通过 Spark/Yarn history server 查看运行日志并排查错误的方法