目录[-]

一、前言

随着python不断的高速发展及各大教育机构满天飞的广告传播,似乎全民编程的时代离我们并不遥远,对于办公室电脑办公的我们而言,究竟python是否有学习的必要,学习了之后能带来什么好处,以及如何学习python是绝大部分人最为关心的重点,本文将从这三个方面进行展开讨论。请注意,该文章以非计算机科班人士为群体进行讨论,如为计算机专业人士,可以联系我进行指导交流!

二、有必要学习python吗?

这几年python广告满天飞,各大机构各种疯狂营销,已经将python捧上神坛,为了能够更好的收取培训费用,各种手段已经可以说是毫无底线,今天笔者从个人的角度去聊一聊,我们如何判断自己需不需要学python,以及学了可以用来干什么。

我个人觉得,最好的判断方式就是,在现有的办公软件,是否能完全满足自己的办公需求,因为如果能够满足需求,一个非科班人士是基本不太可能学会编程,所有的编程都必须根据开发需求去实践,否则哪怕报了10个机构的课程,但是没有自己去开发设计代码,不用几个月就忘得差不多干干净净了,实践是巩固知识最好最高效地方式,也不要说根据机构说的需求去练习,如果你是非感兴趣人员,是学不下编程的,如果不是按自己需求自己兴趣去编程,也是学不下去的,而如果是想要用编程去实现数据处理的,如果连Excel函数都没有玩明白,直接劝退,不用犹豫!

三、学习python能用来干什么?

有人说python是万能的,这是因为python的巨大生态系统让每个爱上python的人都会感慨python很万能,但是理智地说,python是有针对性的优势的,任何一门编程语言都是,python只不过是其友好的代码规范,是目前唯一一个能让绝大部分人有可能学会的一门编程语言,在我个人看来,python对我们而言最大的用处就是数据处理及自动化办公程序,只要能有规律的步骤或计算方法,都基本能利用python实现自动化办公或数据处理,如果学习的足够深入,几乎可以涉及到各行各业了,能开发网站、开发人工智能等各种各样的需求。

开源生态是编程语言发展的最为核心的模式,python也不例外,通过前人写好的代码功能,进行打包上传,我们就可以直接一行代码实现一个功能,其原理就是引用他人写好的代码来进行实现,这就像是编程进入了一个组装时代,我们先寻找已经写好地基础功能的代码库,对底层代码的实现可以简单的通过引用来实现,将更多的精力投入到顶层上的设计。

四、如何学习python?

我个人已经在写这篇文章之前,一共开发了有10个左右程序应用到实际工作业务之中,如果我来建议学习python的路线,我会这样建议:

(0)编程书写代码工具

作为非专业人士,简单小巧是最为核心的,建议使用sublime_text,该教程有涉及该程序的使用:https://www.51zxw.net/List.aspx?cid=707,但是建议下载免安装版:https://www.ghxi.com/sublimetext4.html

(1)python基础入门

了解编程代码的基础概念,了解基本语法、数据结构、逻辑、函数等,可以从以下几个网站免费学习!

文档类在线网站:菜鸟教程-python3教程:https://www.runoob.com/python3/python3-tutorial.html

文档类在线网站:C语言自学网-python教程:http://c.biancheng.net/python/

视频类在线网站:我要自学网(并非全部免费)-python基础的任意一个:https://www.51zxw.net/List.aspx?cid=451

编程的基础刚入门并不需要说所有都要学会,而是每当学会一个知识点,能否利用已经学习的知识设计简单的功能,必须写够足够的代码,才能训练出编程思维。

(2)python编程进阶

当了解有一定的基础后,要熟悉函数的包装、pip安装第三方库的方法,寻找所需第三方库的技巧,用于学会如何引用他人写好的代码库快速实现功能

https://www.runoob.com/w3cnote/python-pip-install-usage.html

https://pypi.org/

(3)python界面

当编程思维训练到一定程度,有可能自己写的程序需要进行一定的交互,也就是需要书写界面了,可以考虑学习python自带的界面库Tkinter:http://c.biancheng.net/tkinter/

(4)python打包exe

如果想要把自己写的代码给他人使用,那么就需要编译为exe文件,在任一电脑上运行,因为自己写的代码是在自己的安装环境下运行的,其他人无法直接使用,打包成exe后,就可以直接分享给他人了。分享一个链接:https://blog.csdn.net/weixin_39693437/article/details/109750704

(5)第三方库的积累

之前发布一个python内置库列表:http://43.136.96.209/blog/detail/20/

在学习python基础和入门后,也可以不断积累各种办公用的上的第三方库,笔者总结的有如下:

序号 模块名 功能 备注
1 xlwings 操作Excel
2 Django 网页框架
3 pyautocad 操作CAD
4 shapely 二维几何
5 ttkbootstrap 界面美化tkinter cmd创建主题:python -m ttkcreator
6 Requests 基于内置库urllib编写的库 爬虫相关库
7 lxml 能够了高效地解析 HTML/XML 文档
8 json 可以使JSON 与 Python 两种数据格式的相互转换
9 Beautiful Soup 可以从 HTML 或 XML 文档中快速地提取指定的数据
10 Selenium 自动化测试工具,可以对浏览器的自动化操作
11 Scrapy 基于 Twisted 实现的异步处理爬虫框架,常用于数据采集、网络监测,以及自动化测试等。
12 Numpy 一个运行速度非常快的数学库,主要用于数组计算 数据处理相关库
13 Pandas 一个基于Numpy的数据结构和数据分析工具,以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据
14 Scipy 基于 Numpy 的科学计算库,用于数学、科学、工程学等领域,很多有一些高阶抽象和物理模型需要使用 Scipy
15 Matplotlib 绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、甚至是图形动画等等 数据绘图相关库
16 pyecharts 基于百度Echarts的数据可视化绘图库
17 Pillow Pillow 是 Python 中较为基础的图像处理库,主要用于图像的基本处理,比如裁剪图像、调整图像大小和图像颜色处理等。 图像处理库,与 Pillow 相比,OpenCV 和 Scikit-image 的功能更为丰富,所以使用起来也更为复杂,主要应用于机器视觉、图像分析等领域,比如众所周知的“人脸识别”应用。
18 Pygame Pygame基于SDL(跨平台多媒体开发库)基础上开发而来,一个专门用来开发游戏的 Python 模块,适合2D游戏开发。 擅长开发 2D 游戏,比如扫雷、纸牌游戏、贪吃蛇、超级马里奥、飞机大战等
19 scikit-learn Scikit-Learn 主要用 Python 语言开发,建立在 NumPy、Scipy 与 Matplotlib 之上,它提供了大量机器学习算法接口(API),因此你可以把它看做一本“百科全书”。由于 Scikit-Learn 的存在极大地提高了机器学习的效率,让开发者无须关注数学层面的公式、计算过程,有更多的更多的时间与精力专注于业务层面,从而解决实际的应用问题。 cikit-Learn 的基本功能主要被分为六大部分:分类,回归,聚类,数据降维,模型选择和数据预处理。 机器学习算法
20 python-office excel、word、ppt、pdf、file、tools、web、email、image、video、ocr 自动化办公(国产第三方库)
21 pyswmm pyswmm是一个用于创建的python语言软件包, 复杂网络的结构、动力学和功能的操纵和研究。 使用pyswmm,可以加载和操作usepa雨水管理模型。 随着pyswmm的发展,控制算法现在可以单独开发在python中,它允许使用函数和对象以及存储和跟踪控制动作的液压趋势。 二次开发swmm排水模型

由于第三方库实在太多,可以在https://pypi.org/搜索,或者CSDN等编程社区进行搜索查找!

五、后期总结

当编程学习到一定程度后会发现,python编程的学习并不复杂,最为核心的能力是如何解决问题,如何在互联网上寻找答案,如何设计一个程序的顶层思路等,最为困难的反倒不是代码如何书写!