解析 | 为什么我学了Python还是不会编程

网友投稿 745 2022-10-30

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

解析 | 为什么我学了Python还是不会编程

前言

Python是一门使用非常广泛的语言,很容易入门,也被大家首推为编程入门的最佳语言。知数堂有幸邀请到DevOps开发专业人士: 章文炳老师,和他一块聊了一下学习Python的一些疑惑。大概问题如下:

怎么学习Python系统的看了好几本Python的书,但还是不能独立的做一个编程,是为什么呢?章老师从本次在构建《Python运维自动化》这门课程的思想上给了我们以下解答。

怎么学Python基础

Python基础入门是比较简单的,基本3-4周就可以看完一门Python的书了。接着针对一些自己难以理解的地方着重练习一下。这里注意一下,我们在学习的过程中不需要对每一章的例子进行敲键盘,点个运行通过才算满意。从收益上来看,这种学习方式的性价比并不高,而且会将我们的学习时间拖得很久。这部分的学习,可以联系知数堂助教获取一份知数堂提供的Python基础视频。我们通过视频进行系统的学习,之后自己进行总结。Python基础这个环境,基本10-20天就可以突破了。

Python进阶实战

有学员反映说学习完Python基础,会觉得非常的茫然。因为这时候说工程,离工程太远;说算法,离算法太远。忽然感觉有一些东西不是Python语法上能解决的。这里举两个例子:

1、解决Python面向领导编程需要的实力

这里开个玩笑,提到一个面向领导编程。例如:我们需要把每天服务器运行情况及做一个汇总然后使用excel或是word的格式发给领导,加上精美的报表。

这里面就会涉及到:数据采集->抓取,数据整理分析,展示(模板), 生成报表(excel调用), word的生成(又一个新的模板格式),mail。从做这个面向领导的编程中,想把事情串起来,就会发现, 需要一系列的整合,整合是不是最佳,如何整合,对于新手都是一些比较迷茫的点。

章文炳老师在知数堂《Python运维自动化》课程中,就是从实战的角度带大家去完成这件事情。参考《Python运维自动化》第三章的 3.4 Python网络编程。

2、高效解决问题的眼界

再说一个高效解决问题。例如:求给定一个数据:9是数组[2, 7, 11, 15, 9]中两元素相加的和,测打印出来两个两个元素的下标 : 0, 1。

新手的程序:

#!/usr/bin/env pythonnums = [2, 7, 11, 15, 9]target = 9length = len(nums)for i, item in enumerate(nums): for j in range(i+1, length): if nums[i] + nums[j] == target: print([i, j]) break

也可以得到答案,但会发现,如果数组增大后,效率就变低了。老司机的做法:

#!/usr/bin/env pythonnums = [2, 7, 11, 15, 9]target = 9dct = {}for i, n in enumerate(nums): if target - n in dct: print(dct[target - n], i) exit(0) dct[n] = iprint("No two sums equal")

忽然就会发现这个更快,在大数据环境,也很快,立马对老司机充满了敬意。

听听老司机为什么这么做的,例如代码中的超时控制,老司机在实战项目,经常会提到这十几行代码,很多重要,大家可以把这个函数记下来,后面可以自已用,然后再来讲一下为什么重要,趟过什么坑。知数堂《Python运维自动化》带你深挖项目实战。

Python技术深度如何挖下去

Python这个语言,可以使用的地方非常广泛,很多机器、人工智能也在使用。但是对于这些想法,章文炳老师也给大家泼了一盆冷水“人工智能那些方向先不要看了,需要很多的数学要求,不是会Python就能上的“。

那么如果想在Python这个技能上提升,该怎么做呢?

章老师的定位:可以利Python随手完成工作中的任务,这样做不会感觉太有难度,理解开发中常见的组件及使用,可以和开发人员平等对话。例如:你需要明白ES, 消息队列, 并行框架, 自动化测试等等。在《Python运维自动化》课程中,也体会到这些问题:

在这个章节中,就带着大家体验一下各种中间件是怎么用的,能完成什么工作,需要注意什么, 争取做一个全栈的DevOPS,进军SRE类的工程师。

如何做一个开源的产品

最后和章老师聊到怎么做一个开源的产品。聊到这个话题,感觉是一个非常大的话题。对于产品的定义可大小,章老师说,如果说一个产品,最简的形态web形态存,那么你要学习会django,vue这类东东,另外他举例说,在他的《Python运维自动化》课程,实战项目:MySQL慢日志收集,就可以说一个开源产品的雏形,在这个教学案例中,会完成:

线上MySQL慢日志收集入ES库利用SOAR对慢日志产生优化建议利用django进行日志展示利用面向领导编程技术产生报表及输出

参考《Python运维自动化》

《Python运维自动化》传送门:https://ke.qq.com/course/480869

在这个基础上丰富起来,如果能被别人利用起来,并且可以维护起来就是是一个不错的开源产品。

上一篇:重点业务公开系统提供了先进的管理平台
下一篇:重点业务公开系统的建设和应用,创建了新型的监管体系
相关文章

 发表评论

暂时没有评论,来抢沙发吧~