大家都用Python来干什么?为什么这么多人想学习Python?

本文讲述了作者从非程序员转行学习Python的经历,从处理大量Excel数据的脚本,到利用Python进行内网爬虫,再到建立服务并最终实现自动化办公的过程,展现了Python在工作中的应用和成长路径。
摘要由CSDN通过智能技术生成

挺想回答一下这个问题的。

我是非码专业,从2019年开始接触python。

一开始其实需求非常简单,就是为了处理大量的Excel表格。其实本来四大的工作经历已经让我excel的水平比较高了,各种跨表定位、查询,复杂的字符串操作,还有vba函数都可以处理。但是python铺天盖地的宣传还是让我觉得,好像有必要学习一下这个工具。所以就简单学习了一下语法,开始一边学一边写了。

第一阶段-单机脚本:

我遇到的第一个场景是这样的:公司的某个银企直连支付平台需要维护全国所有银行的所有支行的“联行号”或者说是大额支付行号,这个行号是人行下发的,数据量大概在20万条记录左右。本来处理这个事情很简单,把数据全部导入excel,然后匹配一下看看新的数据新增了哪些,变更了哪些,然后去系统里面更新就可以了。但是这样做有个问题,一个是excel处理这个量的数据会非常卡,有时候甚至运算到一半直接崩溃(8G内存办公电脑)。第二个是即使简单的vlookup还有大量的同事不会用,所以如果每次都是excel来处理活就砸在自己手里了,工作安排也没有任何风险冗余。所以我就面向百度编程,靠调包平凑了一个脚本出来,没有UI,没有设计结构,一个py文件处理所有流程,然后把执行py文件的bat也放在一起作为入口:

而脚本写的也完全没有任何规范,变量随意命名,面向过程变成:

但是至少,可以稳定的运行,而且考虑到excel动辄需要五分钟十分钟的运算,啥都不能干,这个脚本至少可以稳定的在一两分钟内跑完。

完成这个脚本以后,我只需要每周执行一下bat文件,非常舒服,让我一下尝到了python开发的甜头,从此看啥都是个钉子,开始自己折腾。

第二阶段-内网爬虫:

自从成功调用excel相关的python包以后,就一直停滞在使用python操作excel,说实话,对于一般的工作场景来说,其实效率并没有高。就像上面的例子说的那样,可能本来十分钟的活,做好以后只需要几秒,但是自己敲代码可能搞不好就要半天。所以渐渐的觉得自己是不是舍近求远了。

然后突然有一天,主管机关来检查了,需要查看我们报销流程的审批情况。检查人员挑了五六十条流程,要看系统审批记录。这个其实本来应该是信息技术部的工作,可以从流程引擎相关的数据库表里面导出记录来。但是呢主管机关是财务条线的,他们的要求很简单,只要看页面上打印下来的审批记录,不要看数据库的数据。信息的同事觉得,这不是“给我切十斤寸金软骨”的抬杠需求码,直接就反馈说做不了,要么给个权限到系统里面自己看吧。可是我们不敢得罪检查人员啊,领导一拍桌子说,自己给他们导吧!活就到我手上了。

如果真的手工做,我估摸着要搞一两个小时,时间长不说还非常无聊。然后我想起python不是卖课的时候一直号称适合做爬虫吗。这不巧了吗。

马上打开编程环境:百度。然后了解了一下爬虫,啊不是,了解了一下几个可以操作浏览器的包的使用方法。再次开始掉包侠的工作。

这次非常有趣,爬虫常见的比较难处理的情况在我这边都不存在,首先是用户登录,我们因为是内网业务所以没有任何反爬措施,直接提交用户名和密码就能登录。甚至,我都不需要登录,因为是一次性拉去页面信息,我为了“敏捷开发”,甚至直接F12查了登陆以后的cookie,然后带着cookie发起请求。然后,幸运的是我们的内网业务系统,URL非常规范,我甚至可以根据检查人员给的单号直接拼出URL,访问也非常方便。最后,页面结构也非常规范,我可以使用浏览器自带的xpath功能,通过复制粘贴定位元素,模拟鼠标点击。整个工程没有任何难点,代码风格依旧保持乱写的状态:

甚至主要功能是网上抄的

不管写的怎么样,效果还是非常好的。特别是当我们把所有的pdf打包好了交给检察人员,他们又给了我们一个清单,还要再补充百八十个样本的时候,心情那个舒畅啊。

从此,我开始对网络感兴趣,意识到单机的python脚本能力实在有限。所以囫囵吞枣地大概的了解了一下TCPIP协议,了解了一下HTTP协议。本意是为了防止以后爬虫的时候出现百度都不知道怎么百度的情况,却意外的让我前进到第三个阶段。

第三阶段-建立服务:

其实随着写的爬虫和excel脚本越来越多,同事也会不断的问我要一些工具,让他们也可以用用。单怎么让他们使用其实蛮困扰的。bat的问题是需要在别人的机器上配置python环境,而且几乎不能交互。所以后来就想到了用pyinstaller打包。打包的问题也不少,文件大就不说了,毕竟整个python解释器都在里面,最大的问题是比较简单的UI库都太丑了。我当时主要写的是Tkinter,一股浓郁的win98风格。同事看到了第一反应就是,你这个老古董,不太敢用啊。

我就想那别人怎么搞,难道只能自娱自乐吗。

大佬们的答案都一样,起一个服务,用前端作为UI呀。这样完全不用考虑用户环境,而且只要一个浏览器就行了。

我一听,这个方案,非常优雅。

说干就干。我的需求就是要“敏捷开发”,毕竟我只有一个人,而且码代码也有不是我的本职工作,所以就选用了Flask架构,一行代码起一个服务。前端我不懂,就不考虑美观,css和js都几乎为0的情况下,做了一些堆砌控件的“前端”;后端数据库我也不懂,但是不要紧,我的业务数据量都非常小,可以用python的pickle作为永久层,查数据就用字典,非常方便。展现出来的效果大概是这样的,页面虽然依旧是几十年前的风格,但是同事发现可以通过浏览器访问,觉得非常高级:

使用了jinja模板,所以预览的时候有奇怪的变量

而项目文件夹有大量的pkl文件:

非常丑,但是别人看不见。

而因为集成的功能也越来越多,至少这次开始,注意到了代码的质量,比如分割功能块啊,函数出入口标注变量类型啥的,以免写道后面自己都忘记了:

随着挂载的功能数量越来越多,突然觉得既然已经做到这一步了,不如就好好的做成一个项目,于是就只能逼着自己去学一些JS,CSS之类的前端基础,还有后端的SQL和python-sqlalchemy这类的包。

第四阶段-内网服务&RPA

既然气氛已经烘托到这里了,那就只能把整个项目好好的完善一下,首先是前端,通过网上抄一些js动画,还有做一些简单的“扁平化风格”的按钮:

后端也鸟枪换炮,不再使用pickle做永久层,而使用正经的mysql来储存,并且尝试使用sqlalchemy的ORM工具:

这样检查、修改都非常方便。

到这里为止,我自己部署的服务已经囊括了财务日常工作需要做的大部分内容,包括自动生成结账分录,推送到财务系统,打印流水、打印凭证及匹配银行回单等等等等,我每天的日常工作其实已经基本没有了。

回到最初的问题,其实如果以兴趣为导向,python真的是一个非常容易上手,功能又很强大的工具。Python能做什么,取决于你想要做什么,在数字的世界中,你只要投入足够的精力在某个工具上,一定会给你值得的回报。

与君共勉。


关于Python学习指南

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。让你从零基础系统性的学好Python!

👉Python所有方向的学习路线👈

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)

在这里插入图片描述

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python70个实战练手案例&源码👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉Python大厂面试资料👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

👉Python副业兼职路线&方法👈

学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

在这里插入图片描述

👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码或者点击链接免费领取保证100%免费

点击免费领取《CSDN大礼包》:Python入门到进阶资料 & 实战源码 & 兼职接单方法 安全链接免费领取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值