我是什么情况下开始学python,现在能用python做什么

目录

一、首先一对一回答题主的问题

二、详细说说我和python的缘分始终

2.1、爬虫篇

2.2、数据分析篇

2.3、数据可视化篇

2.4、web开发篇

2.5、总结

三、关于python副业兼职


今天是2021.12.6号,早上回答了一个知乎问题,整理出来,做下记录。问题原链接移步至:

你是什么情况下开始学python,现在能用python做什么呢? - 知乎

一、首先一对一回答题主的问题

你学python多久了?

答:从学开始,边学边用,总共七八年了。

现在是什么水平呢?

答:全栈开发不敢说,但需要满足的业务场景基本都能用python搞定。

有从事相关的工作吗?

答:自从接触到python,就一直从事python开发工作了,专注数据开发,其他python周边也有。

或者有做相关的兼职吗?

答:有做python兼职,接一些小单,提升自己技术的同时,赚点零花钱。

二、详细说说我和python的缘分始终

现在是2021.12.6号的凌晨6点半,睡不着了,来知乎刷到这个问题。用我自己的真实经历,详细说说我怎么开始走上python开发这条路的。

2.1、爬虫篇

我大概从七八年前,在客户现场,遇到一个比较棘手的业务场景,客户需要分析自己的业务数据,但是又没权限拿到总部数据的开放接口API,调配不到这么高权限的资源,只能从前台web页面对应的功能菜单上,一个个去筛选过滤条件,然后点击下载按钮,把数据下载成好几十个Excel再进行分析。针对这种情况,我作为技术支持团队的核心人员,无意间刷到python爬虫的技术文章,当时一直在犹豫,通过爬虫采集到的数据会不会不准确、业务前台页面改版了怎么办、爬虫程序不能稳定运行怎么办,但终归还是用上了python爬虫,毕竟当时也没别的办法了。

既然用爬虫爬前端页面,基础的html、css、就不说了,还得了解点JS、ajax异步、iframe切换什么的。知道前端怎么开发实现的,才能更加针对性的开发好自己的爬虫。

爬到大量数据,总不能存到Excel吧,得存到数据库,就学了对应的存取数据库的库,pymysql、cx_Oracle等,甚至后面还学到了先用sqlalchemy创建个连接,然后用pandasto_sql插入数据库也是超级方便。

这中间,还需要用到一些数据转换、数据清洗,比如爬到的数据是个tuple啊,list啊,总不能直接insert到数据库吧,于是接触到了python中最常用的数据处理的库pandas,先清洗一遍,好使。

一个python程序爬的慢,单个程序已经最优化了,于是又开始了解多线程、多进程什么的,开始学threading、multiprocessing这些库。

python爬虫开发好了之后,总不能每次都手动run它吧,心累,那就写个定时呗。部署到Linux服务器上,就用crontab配置下。如果是Windows Server呢,就配置个定时任务,都是一个道理。再不济了,把定时逻辑写到爬虫程序里面,用到datetime、time.sleep这些库,让程序一直后台运行,While True循环,一到晚上12点,就自己触发自己跑,这样的话,都不用麻烦那些OS层面的定时机制了,也行,条条大路通罗马~

这就是,一个爬虫,开启了我的python学习之路的历程。

2.2、数据分析篇

前面的爬虫,只是解决了数据源获取的问题。数据拿到手,怎么让数据”活“起来,让数据变的有价值,那就要做数据分析了,当然,我也绕不开的。

传统企业,或者大部分公司的非IT部门、非信息化部,很多都是在用Excel汇总、处理数据的,为什么不用数据库呢,因为不懂开发技术呗~

但我作为甲方爸爸的技术支持,必须得用上技术,哪怕撑撑自己的门面装个样子呢。于是学习python的读取Excel文件的库,先后用到了openpyxlxlrdxlwt,这些不仅能读写Excel,还能在Excel里做一些附件功能,比如搞个下拉框、单元格填充颜色、字体大小颜色等等。最后也用上了pandas,用read_excelread_csv把数据读取成DataFrame格式,然后经过各种数据清洗、转换、数据处理等ETL工作,最后再to_excelto_csv吐成Excel文件,落地成结果文件。这一套下来,该学到的python库都掌握的差不多了吧。

当然,有时候,用数据库比较方便些,自然就会用到SQL语言,至于什么时候用python,什么时候用SQL,甚至什么时候用Excel本身,要分不同的适用场景,后续我可以展开来细讲。

数据分析,当然不止于Excel一种数据格式,还有word啊PPT啊PDF啊,我差不多都用到了一些,包括docx、pptx、pdfminer、PyPDF2这些对应的python库。恩?好像楼歪了,有点自动化办公的味儿了~

2.3、数据可视化篇

数据分析完了,总不能把光秃秃、硬邦邦的Excel文件发给爸爸们吧,人家不懂技术,也不能逼着人家去学技术啊~于是,当然要做成更加友好、更加直观的可视化图表了。

如果是简单的开发一些图表,单纯表达数据计算结果、数据分布等情况,用matplotlib这种python最基础的可视化库就足够了。

但如果想开发可视化大屏,就是企业大厅的墙上挂的那种,是通过组合各种图表然后美化界面,达到数据大屏的效果。业界市场上有很多商用产品,比如DataV、FineReport、Tableau、PowerBI等等,但是我最终选择了用百度的Echarts开发了一个数据大屏,除了因为他是免费开源外,界面也不丑,还可交互,详细讲解视频,请移步至:

4分钟介绍python开发可视化大屏,揭秘可视化大屏背后原理

我开发这个大屏,基本把上述所有用到的技术(包括下面的Flask框架)都串起来做了一遍。

2.4、web开发篇

可视化生成的各种图表,以怎样的形式发给爸爸们看呢,总不能把png图片、或者html文件通过邮件post给他们吧,咱们是技术人员不是嘛~ 当然是部署到服务器上,然后人家在网页上看了。就像访问百度网站一样简单。给爸爸们省时间就是给自己省时间,慢就是快的道理,你懂得~

当时,在我的认知范围内,python的web开发主要有FlaskDjango两种主流框架。我这个人比较懒,能写一行代码办成的事,绝对不写两行代码,自然而然的选择了Flask这个轻量级的开发框架。Django大而全,我没必要用他!

最简单的应用Flask,就是把生成的图表文件,render到template里面,这样,在URL里直接访问http://localhost:5000,就能看到可视化图表了,本地测试没问题,部署到服务器,localhost换成服务器的ip地址就能访问了,超级方便对不对。

稍微复杂一点的应用Flask呢,就是前后端分离,用Flask实现后端接口API的开发,这个工作的前提,就是要和前端开发的小伙伴约定好接口协议,把数据拼装成什么格式吐给他,json、string还是什么其他的都无所谓,但一定要提前约定好,这个很关键,防止后面的前后端扯皮,懂的人已经点赞我了~

2.5、总结

至此,一套完整的数据分析流程就都包含了:

数据采集 -> 数据清洗、数据分析 -> 数据可视化

每个环节都用到不同 python库,整个流程做下来,想不提升都难。

当然,python的应用领域还远远不止于此,另外还有自动化测试、自动化运维、自动化办公、科学计算、机器学习、深度学习、人工智能算法、大数据等。

记得之前有个HR问我的职业规划是什么,我答,以python开发为基础的人工智能方向。做人如果没梦想和咸鱼有什么分别,哈哈!既然选择了,就一路走下去吧~

三、关于python副业兼职

我本人身在一个末流省会城市,不像一线城市996、007那么大压力,算是工作生活平衡的开,自己的业余时间也比较丰富,就想着用python接些单子赚点零花钱这样。

有些程序员同事不认可开发兼职这种事,认为很浪费时间、精力,有这时间还不如自己研究一门技术。但是我认为,技术变现需要一个思维转换的过程,把自己从螺丝钉变成老板。不要低头干活,还要抬头看路!

我对自己看的很清楚,我不是那种技术钻很深的人,也永远做不到技术总监、CTO的头衔,所以一定要开拓自己的非技术发展方向,比如产品、运维、管理、沟通等方面。

同时,也不要觉得自己技术很菜,就输出不了任何价值。大佬为小牛提供知识,小牛为小白提供知识。于是根据自己的这个感悟,整理了一个知识变现模型:

我自己也录制了一个视频,大概讲了讲自己的python兼职历程,可移步至:

我利用业余时间佛系接单python代做,赚了2W块

以上,就是我的python分享,有兴趣的小伙伴可以关注下,我会不定期更新这个文章。

首发公众号文章:

我是什么情况下开始学python,现在能用python做些什么我在知乎上看到这样一个问题,于是花两小时写了这个回答的文章。一、首先一对一回答题主的问题:你学python多https://mp.weixin.qq.com/s?__biz=MzU5MjQ2MzI0Nw==&mid=2247483908&idx=1&sn=ea3f93cdf668ef154712535fa31d5f5d&chksm=fe1e16e4c9699ff2a70393e7f9af9c79340cada05abfbebc07cd70655481940aea76301dfd96&token=928226833&lang=zh_CN#rd


我是马哥,全网累计粉丝上万,欢迎一起交流python技术。

各平台搜索“马哥python说”:知乎、哔哩哔哩、小红书、新浪微博。

猜你喜欢

转载自blog.csdn.net/solo_msk/article/details/124224342