Skip to main content

Python 应用编程专家(Python Application Expert )培训指南

阅读:-


1 背景介绍

1.1 信息化人才现状

在信息化的时代,数据处理是非常常见的一种应用技能,是我们在职场工作的一个加分项。 但是现实的情况是同时具备专业技能和程序设计能力的专业人员是非常少的。 主要的原因是在于如果你是一个专业人员,往往不知道如何去掌握一门编程语言。虽然网上有很多 XX 天学会编程的教程,可惜遇到现实中的问题,往往感觉无从下手。而对于计算机专业的人员,通常没有兴趣去处理应用问题,毕竟还是写 SQL 语句,或者是 IDE 编程环境来得愉快,理解那些专业问题,感觉没有什么意思。 因为这样的原因,现实世界中,能够同时擅长专业领域和编程的复合型人才,是少之又少。

然而,市场上面对这样的复合型人才还是非常的期待,所以我们还是考虑编写一个系列的培训教程,来帮助专业领域的人士,掌握和应用相关的计算机编程知识。

为什么,我们计划出这样一门教程呢,因为目前我们的团队都不是计算机专业的人士,因为工作的关系,不得不转型学习编程语言,这中间遭遇了非常多的困难,也得到过很多好心人的帮助。目前总算是进入到专业的

1.2 非 IT 专业人士成长的挑战与对策

作为一个非 IT 人士,想转型学习 IT 方面的知识,成为一个复合型的人才,面临的主要挑战在于:

1.编程语言不熟悉。因为日常很少接触编程语言,所以很少有机会接触编程语言,所以对编程语言感觉总是非常陌生。

2.解决问题缺乏路径。 一般的单位,日常工作中对 IT 的需求,主要是报表制作类的需求,但是即使选择一门编程语言,却不知道要学习哪些知识,方能处理报表,不知道路径在哪里。

3.全流程贯通困难.作为一个非 IT 的人士,如果能突破前面两个难关,顺利实习了代码开发,但是如果要贯通,会面临很多实际的困难,比如 FTP 服务器搭建呀,socket 通信呀。而且这些应用中面临的专业问题,往往很难直接找到答案。

因为这些问题的存在,使得成长的为复合型的人才非常艰难。所以,我们考虑的对策是两点:

1.强化基础:非 IT 的人士学习编程技术,虽然不需要全面掌握 IT 编程的技术,至少需要掌握核心的基本概念。

2.任务导向:将现实生活中常用的应用进行提炼,设计为原型编程任务,通过解决原型编程任务,来提升实战能力。

1587267997401

**图 1-1 面向任务的模型提炼**

1.3 编程语言选择

 作为应用编程专家的教学语言, 编程语言选择肯定是越简单越好,选择python的原因,主要是以下四方面的原因。

1、语法简单:python 是一种偏向脚本的编程语言,相对来说语法比较简单。 学习曲线比较小;编译器的容错功能比较强,相对来说调试比较方便。

3、演进迅速:python 基金会是一个强大的组织,python 是一种完全面向对象的编程语言(OO),持续对 python 的内核进行优化升级,所以 python 的执行效率也越来越高。

3、插件丰富:python 世界中的“活雷锋”特别多,提供了大量的应用插件,其中有一些插件非常使用应用编程。

基于这三方面的原因,我们选择 python 作为我们培训的编程语言。

1.4 课程规划

为了实现上述目的,相关的课程规划见下图:

1587268165467

从上图可见,本专项的训练,主要包含三部分的内容:

1.python starter: 主要是训练 python 的基础语法,掌握 python 中基础的数据对象。

2.python report administrator:主要训练 python 制作报表的功能,实现快速解决应用中的报表编程工作。

3.python big data starter: 主要训练 python 大数据的基础流转换功能,方便把应用粘合,实现常态化运营。

1.4.1 Python starter

在 python starter 部分,主要是训练 python 的基础语法, 主要以调试练习训练为主。

我们将提供一本 python 的基础数据《疯狂 python 讲义》,参训者要阅读这本书的前 10 章。 完成以下三项工作。

1, 调试每一章的例题。

2、完成每一章的练习题。

3、每章学习完毕以后,撰写一篇知识点总结材料。

在这个阶段,核心的要求是频繁调试,就算玩计算器一样进行练习,就可以了逐渐掌握 python 的基础语法。

时间安排:2 周

1.4.2 Python report administrator

这一部分的练习,主要是训练 10 道和报表制作相关的实战训练题。参加训练者需要:

1、完成相关的报表练习题目的设计和调试。

2,提交设计文档,包括

2.1 需求的 IPO 过程。(输入-处理-输出)

2.2 根据 IPO 说明,如何通过 python 内嵌的模块实现相关的处理过程。

2.3 说明函数之间的调用关系。

3,归纳本练习题涉及的知识点。 集合阶段一训练的基础知识点,说明相关的知识点如何应用。

这个阶段,还是以面向报表应用的(APP)编程练习,并和阶段一学习的知识点,建立映射关系。

相关的时间安排为 4 周。

在这个阶段,每完成一章的作业,要经过评审以后,再转入后续的章节。

1.4.3 Python big data starter

这一部分的练习,主要是训练 10 道和报表制作相关的实战训练题。参加训练者需要:

1.完成相关的报表练习题目的设计和调试。

2.提交设计文档,包括

2.1 需求的 IPO 过程。(输入-处理-输出)

2.2 根据 IPO 说明,如何通过 python 内嵌的模块实现相关的处理过程。

2.3 说明函数之间的调用关系。

3.归纳本练习题涉及的新插件。说明插件主要提供的方法,以及相关插件方法的调用关系。

这个阶段,还是以面向大数据流转换相关的训练,并和阶段一学习的知识点,建立联系,增强阶段二的基础训练。

相关的时间安排为 4 周。

在这个阶段,每完成一章的作业,要经过评审以后,再转入后续的章节。

1.5 主要挑战

本期训练班,主要的挑战在于:

1.时间比较紧张: python 虽然是一种比较简单的语言,但是如果需要在 10 周时间掌握 python 的应用编程,还是需要投入很多的时间。

2.设计文档编写: 撰写设计文档,是编程知识内化的一个关键,但是一般的参与者都很排斥编写设计文档。但是如果不突破这一关,后续的高阶训练无法参加。

3.从百度到帮助手册: 国内编程人员最热爱的是百度搜索,但是从第二本书开始,很多内容都无法直接从百度上,找到答案。这时需要阅读原版的帮助手册。

如果能够突破这三关,相关的培训会进展比较顺利。

1.6 课程概述

本课程主要是面向希望利用 python 解决日常工作中报表处理的非计算机专业的人士,透过相关知识的学习,可以高效的解决日常工作中的报表制作的需求,详细的章节规划见下表。

 **表2-1 课程设计**
序号报表应用设计名称依赖组件训练目标
1第一个组件 ososos 读写文件
dict/lisy/stros 遍历目录
csv字符串流处理
2文件读写-多文件合并osos 读写文件
dict/lisy/stros 遍历目录
csvcsv 表头处理
3字符串识别与信息提取os字符串流处理
4数据格式归一化-字段提取os字符串流处理
list小数整数转 str
5Pandas 多文件合并pandaspandas 合并文件
dict/lisy/str小数整数转 str
6Pandas-分组聚合pandas分组聚合
7Pandas-数据拆分-列行增扩pandas行列互转
8pandas 应用-连续低温站点pandas数据更新
9pandas 应用-物理网站点信息扩展pandas数据拆分判断
10pandas 应用-气象站资料扩展pandas数据更新 pandas 方法
dict/list/str数据更新 dict 方法
理论 1python 内置组件理解基本的概念模型
理论 2pandas 组件理解基本的概念模型
  备注:扩展了2题。

经过这一部分的练习,聪明的你基本上就可以胜任,日常的报表应用开发,把你宝贵的时间,从繁琐的报表编写的环节中解放出来。

1.7 学习方式

这一本书的学习,在作业练习部分,包含了 12 道题目。下面,将相关的题目做一个简单的介绍。

1587268427580

本书的练习主要包含 3 个大的板块,分布是

1.内置流操作基础组件:主要涉及到文件读取,字符串转换的操作,涉及到的练习是 1-4 题。

2.pandas 报表组件: 主要是涉及到基于 pandas 的基础报表应用,以及列行转换,窗函数,列表生成式编程的一些高级应用。涉及到的练习是 5-12 题。

3.字典的提高应用: 主要是涉及到把字典作为嵌入式数据库来应用,涉及到 9,10,12 三道题目。

由于部分题目需要涉及到多种解题方法,总共需要提供20种解题方案。

1.7.1 Python 内嵌组件介绍

要想学会 python 的报表处理,首先要掌握几个必要的内嵌组件,

主要涉及到本地计算机系统的操作系统(OS),字符串处理(string)等模块。

虽然这些模块很简单,但是如果聪明的你没有掌握这些内嵌模块的设计要点,解决问题的时候,往往会非常迂回。所以掌握好这一部分的知识,在后续的学习中可以少走很多的弯路。

另外,python 内嵌组件的学习,应该是最有投资价值的学习方向,因为无论你将来选择 python 的那一个方向,报表分析,大数据,人工智能,数据中台服务,python 的内置组件都是非常重要的基础知识和基础技能,一旦突破了相关的知识,就可以轻松的驾驭 python 的报表编程应用。

1.7.2 Pandas 报表组件

理论上说,使用python的原生组件,可以解决常规的报表需求,

但是,应用 python 的原生组件,存在几个设计上的难点。

1.你需要做非常复杂的字符串处理,以及格式转换的操作,方能达到你需要的报表功能。

2.如果涉及到两个表之间的关联处理,使用python的原生组件显然也没问题,但是需要自己设计处理逻辑,而缺少标准化的函数。

3.如果报表的处理步骤比较多,用内置组件来设计,不但转换过程非常繁琐,而且比较容易产生逻辑错误。

基于这三点原因,我们计划引入一个专门的报表应用组件,一旦你熟悉了 pandas 的基础语法,你就可以非常简化的处理一些复杂的报表设计工作。

1.7.3 基于 dict{}的内存数据库

Dict 是一种 python 内嵌的数据对象,他可以在内存中保存一个 tabluar 类型的数据结构,并且能够对数据进行快速的索引,这样一来可以表现出类似于一个内存数据库的作用,因此既有丰富的编程特性,可以极大的简化程序内的处理过程;另外 Dict 这种对象具有动态的特性,也就是说并不需要事先声明 dict 的数据结构,可以在运行时候对 Dict 的机构进行动态的改变,所以具有很好的灵活性。第三 Dict 可以非常简约的进行内存运算,可以节省内存的使用。真是因为 Dict 强大的特点,所有可以有以下典型的应用场景。

1.多种数据之间转换的桥梁。 Dict 可以和 csv,xml,json, pandas DF 之前进行各种正确的转换。

2.在大数据微服务的应用下,需要在有限的机器上部署尽量多的计算单元(容器),这种情况下需要对内存非常精益的使用。Dict 是非常好的一种数据结构。

3.提供一个内存数据库的功能,对于海量数据实现 hash 索引的功能。

作为一种原生组件,需要进行合理的掌握。

分享到微博
Starter
MicroServ
Tutorials
Report
Blog