目录[-]
一、前言
随着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
(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编程的学习并不复杂,最为核心的能力是如何解决问题,如何在互联网上寻找答案,如何设计一个程序的顶层思路等,最为困难的反倒不是代码如何书写!