mirror of
https://github.com/cheetahlou/CategoryResourceRepost.git
synced 2025-11-15 21:53:49 +08:00
mod
This commit is contained in:
241
极客时间专栏/Python自动化办公实战课/课前必读/导读|入门Python的必备知识.md
Normal file
241
极客时间专栏/Python自动化办公实战课/课前必读/导读|入门Python的必备知识.md
Normal file
@@ -0,0 +1,241 @@
|
||||
<audio id="audio" title="导读|入门Python的必备知识" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/45/a9/458ec4c09284e3bc8562c79a418459a9.mp3"></audio>
|
||||
|
||||
你好,我是尹会生。
|
||||
|
||||
咱们这个课程是用Python解决办公低效问题,但是**即使你从来没有用过Python,甚至没有任何的编程语言基础,也完全可以学会这门课**。
|
||||
|
||||
为了解决你的语言问题,我特意准备了这节课。我会给你讲解 Python的五个最基础的语法知识,包括运行环境配置、变量、数据类型、控制语句和使用函数库的方法。
|
||||
|
||||
这节课的内容也不需要你马上掌握,其中提到的一些关键知识,我会在后面的课程中详细讲解,包括它们的使用场景和具体用处。**学完这节课,你只要能对Python有一个初步的了解,可以看懂基本的Python代码就行了**。
|
||||
|
||||
当然,如果你有一定的Python语言基础,那么这节课就相当于给你巩固复习了,帮你查漏补缺。
|
||||
|
||||
## 运行环境配置
|
||||
|
||||
我们先从Python的运行环境配置开始说起。初学者面对的最大难题,就是如何让自己的Python程序运行起来。
|
||||
|
||||
一般情况下,运行的Python代码会被保存到一个以.py作为扩展名的文件中,也就是Python脚本文件。要想让Python程序运行,我们需要打开终端应用程序(在Windows中开始-运行-cmd.exe):
|
||||
|
||||
```
|
||||
python3 /py文件所在的路径/xxx.py
|
||||
或
|
||||
cd /py文件所在的路径
|
||||
python3 xxx.py
|
||||
|
||||
```
|
||||
|
||||
这段代码中,xxx.py就是我们编写好的Python脚本文件,Python3 是Python脚本文件的解释器,它会把我们编写好的代码翻译给计算机,让计算机去执行。
|
||||
|
||||
在运行程序的过程中,有两点需要注意。
|
||||
|
||||
第一,Windows和macOS默认是没有安装Python解释器的,所以你需要通过[Python官方网站](https://www.python.org/downloads/)下载不同操作系统下的Python解释器。关于Python的版本,我建议你使用官方建议的最新稳定版本,下载后直接安装就可以使用了。
|
||||
|
||||
第二,Python3 解释器需要在字符终端下运行。
|
||||
|
||||
以macOS系统为例,你需要打开终端来运行`python3 -V`命令来验证Python解释器是否安装成功,如果显示了Python解释器的版本,那说明安装是成功的。如果提示没有找到这个命令,你需要重新安装,并注意安装过程中是否有错误提示信息。
|
||||
|
||||
```
|
||||
python3 -V # 执行的命令
|
||||
Python 3.9.1 # 返回的结果
|
||||
|
||||
```
|
||||
|
||||
搭建Python的开发环境,是运行一切程序的基础。无论你现在手边电脑操作系统是哪一种,我都建议你马上行动,先按照刚刚讲解的步骤,正确地安装和设置Python开发环境。这样在之后的课程中,你就能马上跟着我的讲解进行操作了。
|
||||
|
||||
## 变量
|
||||
|
||||
在正确配置好Python的开发环境之后,咱们继续学习一个重要概念:变量。
|
||||
|
||||
变量这个词来源于数学,在编程语言中,变量主要是用来存储计算结果或表示值的抽象概念。
|
||||
|
||||
计算机中的变量都有一个名字,我们把它称为变量名。这个名字一般是根据变量的英文名进行人为命名的,一般多用简短且易于记忆的名字。比如,我在课程中会使用src_path、dst_path两个变量表示操作源文件路径和目标文件路径。
|
||||
|
||||
我们还可以为变量指定一段数据,这段数据称作变量的值。计算机处理的数据很大一部分来源于用户输入的数据和运算的结果数据,如果这部分数据需要跟踪,我们就可以将数据存储在变量中。
|
||||
|
||||
对于初学者来说,变量的概念比较抽象,你可能现在有点蒙。别急,我现在给你举一个简单的例子,你一看就明白了。假如我要在Python当中计算两个数的和,代码如下:
|
||||
|
||||
```
|
||||
x=100
|
||||
y=200
|
||||
z=x+y
|
||||
print(z)
|
||||
|
||||
```
|
||||
|
||||
在上面的代码当中, 我们分别定义了x、y、z三个变量。 x、y、z称作变量名,定义变量名必须要遵从以下四个规则:
|
||||
|
||||
1. 变量名只能是字母、数字或下划线;
|
||||
1. 变量名的第1个字母不能是数字;
|
||||
1. 变量名也不能是Python的关键字;
|
||||
1. 变量名是区分大小写的。
|
||||
|
||||
上述代码中的=和+,称作运算符。
|
||||
|
||||
- “=”叫做赋值运算符。它的功能是将右边的表达式赋值给左边的变量。
|
||||
- “+”叫做算术运算符。进行算术运算时还可以使用-、*、/、%等常用算术运算符号。
|
||||
|
||||
代码的最后一行,为了能让你的计算结果在终端上显示,我们需要使用一个叫做print的内置函数。
|
||||
|
||||
内置函数是Python内置的一种功能。比如代码中的print就是用来进行输出的。它的最基本用法就是在print函数的括号中写入变量,除了输出最终的结果外,也可以将print函数放在程序运行的过程中,方便你输出更丰富的调试信息。
|
||||
|
||||
通过上面的讲解,我为你介绍了变量如何进行赋值和如何输出。其实,在Python中变量用来存储的数据还会区分类,这些类型也有专门的名称,叫做数据类型。
|
||||
|
||||
## 数据类型
|
||||
|
||||
Python支持的数据类型有数字、字符串、元组、列表、集合、字典6种,不同的数据类型用于描述不同的类别,比如姓名可以用字符串类型,性别可以用布尔型,身高可以用数字类型。下面的代码,我为你演示一下三种最简单的数据类型:
|
||||
|
||||
```
|
||||
name = "yin huisheng"
|
||||
male = True
|
||||
hight = 180
|
||||
|
||||
```
|
||||
|
||||
上面的三个变量,我分别为它赋予了字符串、布尔类型和浮点型这三种数据类型。 Python的变量不需要事先定义变量类型,跟其他语言相比更加简洁。Python可以直接对变量进行赋值,这样就可以根据变量值自动识别变量的类型了。
|
||||
|
||||
不过在上面的例子当中,你还需要注意两点。
|
||||
|
||||
一方面,如果你使用字符串类型,就必须给字符串增加引号。这是字符串的语法规定,如果不加引号会被识别为其他类型,在进行操作时就会得到不同的结果。
|
||||
|
||||
比如说,我定义Python的变量为“123”,加了引号会被识别为字符串,如果一个变量“123”没有加引号,则会被自动识别为数字。如果在Python程序中使用“123+123”会得到两个整数的和“246”,如果是“123”+“123”就会得到两个字符串的连接“123123”。
|
||||
|
||||
另一方面,使用布尔类型的时候,True和False首字母必须要大写,它们是Python的关键字,如果首字母没有大写会被当作变量处理,解释器也会报错。True在布尔类型表示真(对),False表示假(错)。比如算式10>5 是正确的,在Python中就会用True来表示结果是真,反之为假。
|
||||
|
||||
上面提到的整数、浮点数和布尔型都是属于数字类型。除了这些,Python还支持很多种数据类型,包括数字、字符串、元组、列表、集合、字典等。它们之间的关系,我用下面的思维导图为你进行展示。
|
||||
|
||||
<img src="https://static001.geekbang.org/resource/image/62/92/6203aa4db38f3ab13358df0c6004yy92.png" alt="">
|
||||
|
||||
我在课程中会逐一为你剖析它们的用处,让你能够全部掌握。当你学会这些类型的时候,可以更精确地描述数据,比如,我想用Python的数据类型存储“5个苹果和10个橘子”,我们就需要使用字典和字符串来表示这些数据。你可以看一下下面这个记录水果数量的例子:
|
||||
|
||||
```
|
||||
fruits1 = {"apple":5, "orange":10}
|
||||
fruits2 = "apple,5,orange,10"
|
||||
|
||||
```
|
||||
|
||||
我分别用字典和字符串记录了水果的名称和数量,可以看到,字典表达的水果和数量之间的映射关系更明确,而且不同的数据类型还能支持它特有的内置方法。例如上面定义了水果的字典数据类型,我们可以通过 fruits["apple"] 直接得到苹果的数量5 , 有时候,这些便捷的内置方法也是我们选择数据类型的依据。
|
||||
|
||||
数据类型是一门编程语言的必要组成部分,学习编程语言主要就是为了掌握它的数据类型。这节课我只要求你能够了解Python有哪些基本数据类型就可以了,在之后的课程当中,我会为你重点介绍每一种数据类型的优缺点,以及该怎么使用它们。
|
||||
|
||||
## 流程控制
|
||||
|
||||
流程控制,就是我们经常说的程序执行的顺序控制。 从上面的几个例子当中,你会发现程序都是从上向下依次执行的。这也是Python语言最简单的结构——顺序结构。在Python中,除了顺序结构之外,还有分支和循环两种结构。
|
||||
|
||||
### 分支结构
|
||||
|
||||
分支结构用来判定某个条件是否成立,它会根据一条或多条语句的判定结果(是True还是False)来执行对应操作的语句,从而实现分支的效果。实现分支结构的语句叫做if语句。除了if这个关键词外,我们经常还会用if...else和if...else...if语句来实现更多的分支和更复杂的逻辑。
|
||||
|
||||
我们一起看一个比较数值大小的例子吧。
|
||||
|
||||
```
|
||||
x = 20
|
||||
if x > 10: # 注意结尾的冒号:
|
||||
print("if的判断结果为True")
|
||||
print("x的值大于10")
|
||||
else:
|
||||
print("if的判断结果为False")
|
||||
print("x的值小于10")
|
||||
print("程序执行结束")
|
||||
|
||||
# 执行结果如下
|
||||
if的判断结果为True
|
||||
x的值大于10
|
||||
程序执行结束
|
||||
|
||||
```
|
||||
|
||||
在上面这段代码当中,我们实现了判断变量x是否大于10的功能。在书写分支结构时,要注意书写格式问题,分支结构的书写格式比顺序结构要复杂,例如:
|
||||
|
||||
1. if判断的书写格式,冒号标志着if判断的结束。
|
||||
1. if下方有缩进的代码,是在True的条件下才能运行的。在演示代码中,缩进代码由2行组成,其实,它也可以由很多行代码组成,多行代码的形式被称作代码块。代码块一直到缩进再次改变的时候,True条件下的代码才结束。
|
||||
|
||||
需要你注意的是,在整个程序当中,缩进方式必须一致,要么使用Tab、要么使用4个空格进行缩进。Python对于缩进和复合语句结尾的冒号要求非常严格,如果弄错了就会报错。而且,缩进不同会大大影响一个程序的运行结果。例如上面的代码中“print("程序执行结束")” 如果有缩进,你就看不到“程序执行结束”这行执行结果了。
|
||||
|
||||
### 循环结构
|
||||
|
||||
在程序运行逻辑中,另一个重要的结构叫做循环结构。**循环结构是可以多次执行同一段代码的语句结构**。在Python当中有两种循环语句,分别是while语句和for语句。
|
||||
|
||||
while语句在循环开始前先对条件语句进行判断。如果条件语句的结果为True,则循环一次再次进行判断。如果条件允许的结果为False,则循环结束。这里所指的条件语句和if语句当中的条件是一样的。下面的例子是我使用while语句实现的从1~10的累加。
|
||||
|
||||
```
|
||||
start = 1
|
||||
total = 10
|
||||
sum = 0
|
||||
while start <= total: # 条件为True 继续执行循环
|
||||
sum += start
|
||||
start += 1
|
||||
print(sum) #条件为False循环结束,输出结果
|
||||
|
||||
```
|
||||
|
||||
另一个循环语句叫做for语句,它和while的功能有所不同。我们一般把for的功能称作遍历功能。一般我们会提供一个列表,通过for将列表中的每一个元素读取出来,进行处理。
|
||||
|
||||
举个例子,如果我们要依次输出列表中的每一个元素,就可以用下面的代码:
|
||||
|
||||
```
|
||||
total = list(range(1,11)) # 定义一个1-10 的列表
|
||||
for i in total:
|
||||
print(i)
|
||||
|
||||
# 输出结果
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
|
||||
```
|
||||
|
||||
流程控制语句可以改变Python程序的执行顺序,而我们通常会根据实际的业务场景来控制某些语句块进行重复执行的。
|
||||
|
||||
## 使用函数库
|
||||
|
||||
Python语言的强大之处,除了语法简单外,就在于它庞大的函数库了。
|
||||
|
||||
Python的函数库有标准库和第三方库(也叫扩展库)。标准库是Python自带的,而扩展库是需要再进行安装的库。你可以从[Python的官方文档](([https://docs.python.org/zh-cn/3.9/library/index.html](https://docs.python.org/zh-cn/3.9/library/index.html))和[PyPI网站](https://pypi.org/search/)中找到它们,其中,[PyPI网站](https://pypi.org/search/)的库就是扩展库。
|
||||
|
||||
[PyPI](https://pypi.org/)网站上面的项目超过28万个,几乎包含了各个行业和各个功能的应用,实现了很多你日常需要手动操作的功能。
|
||||
|
||||
这些库如何是用呢?首先看一下官方自带的库。
|
||||
|
||||
**如果要使用官方自带的库,可以使用import关键字导入**。例如我计算算数平方根功能,就可以使用如下方法:
|
||||
|
||||
```
|
||||
import math
|
||||
math.sqrt(16)
|
||||
|
||||
```
|
||||
|
||||
import 后面指定要使用的库的名称,使用库的具体功能,通过官方文档来找到相应的函数。例如,算数平方根使用sqrt函数就可以实现你想要的功能了。
|
||||
|
||||
标准库的使用非常容易吧,那如何使用扩展库呢?由于扩展库都需要通过网络进行下载,因此我们还需要提前**在终端使用pip3命令进行下载和安装**。例如我希望Python可以支持Word文件格式, 我就需要在终端执行下面的代码。
|
||||
|
||||
```
|
||||
pip3 install python-docx
|
||||
|
||||
```
|
||||
|
||||
下载和安装之后, 就可以像标准函数库一样使用import导入使用了。
|
||||
|
||||
## 总结
|
||||
|
||||
通过上面的内容,我为你简单介绍了一下入门Python需要掌握的五大部分,包括环境配置、变量、数据类型、控制语句和使用函数库的方法。这五个部分是Python最基础也是最必要的语法知识。希望你能通过我的介绍,对Python语言有所了解,消除对编程语言的畏惧心理。
|
||||
|
||||
最重要的是,即使今天这节课你没有完全懂,也没有关系。
|
||||
|
||||
一方面,我会在之后的课程中不断讲解每个部分的用法和具体使用场景。还是我在开篇词中说的学习方法,你需要在听我讲解的同时,动手操作,反复练习,这些语法知识就不会是太大的问题。
|
||||
|
||||
另一方面,我也希望你能在学习之后的课程时,如果遇到哪些关键语法知识不太明白,就回头来学习今天这节课。这节课相当于整个课程的基石,需要反复琢磨、反复学习。
|
||||
|
||||
如果你能跟着我的课程不断练习实操,那学完后,你都能够熟练地修改课程中涉及到的代码,并且还能根据自己的工作场景,自行编写提升工作效率的程序。
|
||||
|
||||
## 思考题
|
||||
|
||||
最后留一道思考题给你,你以前是如何学习编程语言的呢?有没有好的学习方法分享一下?或者你在学习过程中有遇到什么困难,也可以分享出来。
|
||||
|
||||
如果你觉得这节课能帮助你提升办公效率,欢迎点击“请朋友读”,分享给你的朋友或同事。
|
||||
136
极客时间专栏/Python自动化办公实战课/课前必读/开篇词 | 重复工作这么多,怎样才能提高工作效率?.md
Normal file
136
极客时间专栏/Python自动化办公实战课/课前必读/开篇词 | 重复工作这么多,怎样才能提高工作效率?.md
Normal file
@@ -0,0 +1,136 @@
|
||||
<audio id="audio" title="开篇词 | 重复工作这么多,怎样才能提高工作效率?" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/31/8f/3114a4e55f7c420c82d738f376dfff8f.mp3"></audio>
|
||||
|
||||
你好,我是尹会生。欢迎你来到《Python自动化办公实战课》,在接下来的3个月时间里,我们一起通过办公自动化来提升工作效率。
|
||||
|
||||
工作15年来,我在游戏公司做过技术总监,也在新浪网做过技术经理,负责公司运维平台建设和相关工具的开发工作,几乎每天都在和Linux打交道。
|
||||
|
||||
在这门课之前,我已经在极客时间开设了两门视频课程:[《零基础学 Python》](https://time.geekbang.org/course/intro/100008801)和[《Linux实战技能100讲》](https://time.geekbang.org/course/intro/100029601),为Python语言的初学者和运维工程师、开发工程师提供系统化的课程,目的就是解决他们在学习、实践中遇到的80%的问题。
|
||||
|
||||
目前,这两门课程已经有3万多名同学加入学习了。看到这些内容能够切实地帮助同学们解决他们的问题,我非常开心,也很受鼓舞。
|
||||
|
||||
所以,这次我又为你带来了《Python自动化办公实战课》这门专栏课程。我总结了工作这些年来切身经历的、经常被问到的办公效率低下问题,以及对应的解决方案,我会把它们全部分享给你。
|
||||
|
||||
希望你学完这门课,能够**告别重复、机械的工作,提高工作效率,同时也能把时间花在刀刃上,去提升自己的核心竞争力**。
|
||||
|
||||
说到这里,你脑中是不是回忆起了一幕幕的低效工作场景:
|
||||
|
||||
- 需要对Excel文件中的内容进行拆分和合并,你要一个个手动拆分再合并;
|
||||
- 文件夹里有大量图片需要重命名,你不得不挨个儿点击一张张图片,再重新命名;
|
||||
- 网络中有大量新闻和图片需要下载,你就要手动把每个网页另存为文件;
|
||||
- 需要把数据快速生成自己想要的图形,一个一个图形参数来设置;
|
||||
- 需要让计算机在凌晨执行任务,你只能让闹钟在半夜把自己叫醒,人工执行,观察执行结果;
|
||||
- ……
|
||||
|
||||
这些工作其实难度都不大,但它们有一个共同的特点,就是**重复、机械的手工劳动,非常耗费时间和精力**。实际上,我们换一种方法,就可以快速完成这些工作,节省数倍的时间。如你所想,这些都是我要通过这门课帮助你解决的问题。
|
||||
|
||||
那具体怎么解决呢?
|
||||
|
||||
## 解决这些低效问题,我的思路是什么?
|
||||
|
||||
其实,我们现在的办公环境,已经基本实现自动化了,Word、Excel、邮件、思维导图等各种各样的工具都非常顺手,表格的合并拆分、使用快捷键进行文件的各种操作等各种技巧也是随手一搜就能得到。但相应的问题也就来了,我们怎么用好这些工具、怎么内化这些技巧呢?
|
||||
|
||||
静下心来想一下,现在我们掌握的绝大多数办公工具和技巧,都是基于计算机的。那这个问题,就可以用计算机的思维从根儿上去解决了。所以,我们不妨引入《设计模式》的思路:**代码封装得越“高级”,解决的问题就越具体;越深入计算机底层,解决的问题就越通用。**
|
||||
|
||||
如果你暂时不理解这句话的意思也没关系,只需要明白这样一点就可以:**要想快速提高办公效率,解决方法不在各种小技巧和小软件,而在于理解底层逻辑,以及加快人和计算机的交互过程**,能够高效地解决输入(格式转换)、输出(格式统一)、控制(内容处理)、运算(查找、替换)、存储(文件保存和绘图),自然就能解决大部分的效率问题。
|
||||
|
||||
只要对计算机的体系结构稍有了解,你就会听说过冯 · 诺依曼结构:计算机由运算器、控制器、存储器、输入设备和输出设备这五部分组成。所以,我们解决用好自动化办公工具和技巧的方法,和经典的冯 · 诺依曼结构是相吻合的,就是**理解计算机的底层逻辑,从而提升我们和计算机交互的效率**。
|
||||
|
||||
<img src="https://static001.geekbang.org/resource/image/8e/5b/8eaa498846e1809834d86e1ecda4b25b.png" alt=""><br>
|
||||
<img src="https://static001.geekbang.org/resource/image/64/4a/647d5d1cdb6c0438845ca01426725c4a.png" alt="">
|
||||
|
||||
说到这里,我可以给你分享一段我的工作经历。我曾经维护过日活超过3亿用户的微博私信平台,你可以看看我是怎么用计算机的思维,来提高自己和团队的工作效率的。
|
||||
|
||||
我们在一个业务模块中,需要批量替换200台服务器中的软件配置,而且每个服务器都有一个文件,需要将第五行内容, 由原有的接口版本v1统一替换成v2。
|
||||
|
||||
面对这样的需求,其实有很多挑战在里面。第一个是替换的实效性,如果手动替换接口版本,由于服务器过多,用户就有可能访问到还没来得及替换的接口上,如后就有可能看到自己的消息是已读状态,一刷新页面,又变成了消息未读。第二个就是服务器数量很多,手动替换还没做完,下一个需求就接着来了。第三,手动替换这么多服务,非常容易出现拼写错误,也就是我们常说的手误,导致你要再花更多的时间来排捉Bug。
|
||||
|
||||
这样很低效对不对?如果使用Python的话,我们就可以从3个方面来提升效率。
|
||||
|
||||
第一,用Python程序代替一个个的手动操作,实现文字内容的替换,这样就会解放人力,你的工作压力会减轻很多。<br>
|
||||
第二,我可以通过Python批量控制服务器,让服务器自动完成这些工作。<br>
|
||||
第三个就是灵活性方面的优化了, 我们可以让这段程序定时运行,又可以让它们能够同时运行,从一个一个执行,到五个五个执行。
|
||||
|
||||
这三方面的优化,我在课程中都会为你讲解到。
|
||||
|
||||
你可能会问,编程语言有那么多,比如Java、Go等等,我为什么要选择Python呢?或者说,为什么我会认为,Python非常适合用来提升我们的工作效率呢?如果你不会Python,可以学这门课吗?
|
||||
|
||||
不要着急,我来和你说下Python语言的几个特点,你就能明白了。
|
||||
|
||||
## 为什么选择用Python来解决?
|
||||
|
||||
**首先,Python的用法非常简洁、灵活,就像汉语、英语这类自然语言一样容易理解和使用**。世界著名程序员、软件开源运动旗手埃里克·雷蒙(Eric S. Raymond)在《如何成为一名黑客》中说道:
|
||||
|
||||
>
|
||||
如果你不懂任何计算机语言,我建议从 Python 入门。它设计整洁,文档良好,对初学者很友好。
|
||||
|
||||
|
||||
Python用法简单,但是对于初学者,尤其是没有Python基础的话,那该怎么来学这门课呢?其实这也是我在设计这门课时重点考虑的一个问题。所以**不用担心,我为你准备好了0基础的学习路径**。
|
||||
|
||||
**第一,导读是整个课程的基石**。导读部分我会为你讲解Python最基础且最重要的五大语法部分,让你对Python有一个初步的了解,能够看懂基本的Python代码。这也是你入门Python学习的第一步。
|
||||
|
||||
同时,导读在整个课程中会起到一个引领的作用。其中的语法知识我会在之后的课程中讲解,所以在学习时如果有不懂的话,仍然可以回过头来看导读部分。
|
||||
|
||||
**第二,一定要动手来操作**,毕竟看一遍我的操作,跟你自己操作是不一样的。
|
||||
|
||||
**第三,如果你有时间的话,我还建议你去抄写每一段代码**。要知道,看一遍课程和把看的东西写出来的感觉是完全不一样的。这个建议我在之前的《零基础学Python》这门课中也提过,很多用户反映学习效果确实不错,提升速度很快。
|
||||
|
||||
问题都是在不断学习中解决掉的,所以最后我也建议你遇到问题不怕畏惧,跟着课程来慢慢学习就行了。
|
||||
|
||||
其次,**Python的扩展库很丰富,可以满足非常多的复杂场景的需求,能够替代非常多的手工操作**。这也是Python相对于其他编程语言的一大优势。
|
||||
|
||||
目前,Python的扩展库已经覆盖了文件、声音、视频、数据科学、深度学习等众多行业。通过这些扩展库,我们可以用Python连接Excel、Word、邮件等常用办公组件,轻松应对各类工作场景,不用自己手动写很多功能代码了。而连接方法也很简单,以操作Word文档为例,你只要掌握下面这行代码就可以了:
|
||||
|
||||
```
|
||||
import docx
|
||||
|
||||
```
|
||||
|
||||
通过这样一行简单的代码,你的Python就能支持Word中的文字、字体、段落、样式、表格等各种功能进行读写操作了,当然了,为了实现你的各种定制需求,还需要继续编写代码(这里的优点是直接支持,其他语言是要先像是操作压缩文件一样,对docx格式解压缩,再对xml文件进行处理,非常复杂)。
|
||||
|
||||
最后,**Python还有一个你无法抗拒的优点,那就是它的跨平台性**。
|
||||
|
||||
也许有一天,你用的电脑的操作系统,从macOS变成了Windows,或者从Windows变成了macOS,那也完全不用担心。Python的跨平台特性,可以帮你做到不用修改任何一行代码,就可以让已经写好的程序直接在新的平台上运行。
|
||||
|
||||
总结来说,Python的简洁、扩展库丰富和跨平台特性这三点,就保证了你可以轻松学会这门课,用Python去实现办公自动化,提升自己的工作效率。
|
||||
|
||||
说了这么多,哪些工作可以用Python实现自动化,而我又会怎么给你讲这门课呢?
|
||||
|
||||
## 这门课是怎么设计的?
|
||||
|
||||
在开头的时候我也说了,要用计算机的思维去解决办公自动化工具和技巧的问题,所以我就把常见的30个机械、重复的工作场景,按照任务类型划分成了输入、运算、控制、存储和输出这5个模块。
|
||||
|
||||
**“输入”模块:解决不同文件类型的批量合并和拆分问题**
|
||||
|
||||
这类任务往往包含了格式相似的大量文件,比如Word、Excel、Txt文件,我会带着你用Python去进行批量合并和拆分。
|
||||
|
||||
**“运算”模块:扩展常用的统计、搜索和排序功能**
|
||||
|
||||
很多软件自带的统计、搜索和排序功能,都很好用,但不支持在多个文件或者跨类型文件中使用。所以,在这个模块我们要学习的就是,怎么通过Python进行扩展,让这些好用、常用的功能,可以支持多个文件或不同类型的文件。
|
||||
|
||||
**“控制”模块:通过插件的方式增强办公软件以及周边软件、硬件的交互能力**
|
||||
|
||||
办公软件的核心功能,通常是支持文字和表格等内容的相关操作,对控制外部设备相对较薄弱。例如,Word本身是不支持批量打印Word文件的,但批量打印又是一个常见的需求。这个需求,就可以通过脚本化来实现,达到打印自动化的目的。
|
||||
|
||||
**“存储”模块:和文件相关的很多常用操作部分**
|
||||
|
||||
在工作中,我们经常会面对这么几种需求:需要对大量文件进行重命名;需要通过网络批量下载视频和图片;需要在海量文件中快速找到自己想要的文件;等等。
|
||||
|
||||
这些需求最大的问题,就是我们需要手工重复操作,或者自带工具不好用。那么利用Python和文件、网络功能相结合,就完全可以实现目录下的批量改名、文件的批量下载,免去了手工重复操作的问题。
|
||||
|
||||
对于系统自带的文件查找工具来说,速度慢而且不够简洁,那我们可以使用Python根据自己定义的目录搜索,加快搜索文件的效率。
|
||||
|
||||
**“输出”模块:智能化输出自己的工作成果**
|
||||
|
||||
在这一部分,我要教你更直观和更智能地输出自己的工作成果。比如说你交付给同事的数据,可以通过Python一键转为图形,也可以根据你的需要将图形采用图片或网页的形式展示给你的同事,提高工作汇报的效率,更直观地展示自己的工作成果。
|
||||
|
||||
<img src="https://static001.geekbang.org/resource/image/1f/16/1f9317004dcda3c0f18ec4595833d016.png" alt="">
|
||||
|
||||
在讲解这5个模块、30个常见的办公场景的效率提升方法时,我还会带你剖析它们背后的原理,和你展示我分解任务、解决问题的思路。
|
||||
|
||||
因为提升办公效率的方法和技巧真的是非常非常多,但如果我们没能把这些方法和技巧做系统的梳理,那它们就是孤立的存在,知道得再多,也没办法根据自己的工作场景灵活运用。
|
||||
|
||||
如果到这里,你还是担心自己不会Python就学不会这门课、就没办法提升自己工作效率的话,我还可以再给你吃一颗定心丸,这也是我额外送你的一份礼物:**在每节课的最后,我都会给你交付一个可运行的小程序**。**你只需要调整保存路径和几个简单的参数,就可以在自己的电脑上运行,就可以去应对你实际工作中相似场景的重复工作,提升自己的办公效率。**
|
||||
|
||||
所以,**不但能用Python让你的工作效率翻无数倍,还可以收获编程思维、解决问题的思路,以及30个小程序。**
|
||||
|
||||
最后,我们来一起立个Flag吧:通过三个月的学习,让自己成为10x职场人!也欢迎你邀请你的小伙伴们一起来学习,共同成长!
|
||||
Reference in New Issue
Block a user