您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > Python

Python编程快速入门

时间:2023-05-05 13:23:31  来源:电脑爱好者  作者:

Python/ target=_blank class=infotextkey>Python是当前最流行的编程语言之一,可应用于Web开发、数据分析、人工智能、科学计算、桌面应用、游戏开发等等多个领域。Python的一大特色就是它具有丰富的程序库(包括内置的库及第三方开发的库),我们不必从头开始编写代码,就可以实现功能强大的应用程序。Python不但功能强大,而且和其他编程语言相比它相对简单,不需要任何先前的编程经验即可学习、使用,对初学者极为友好。下面就让我们一起走进丰富多彩的Python编程世界。

文|梦飞

Python编程环境设置

Python是一种解释性语言,它使用解释器来解释和执行代码,这对用户来说省去了C或C++之类语言的编译步骤,直接从源代码即可运行,因此更容易编写和调试。工欲善其事,必先利其器。在学习Python编程之前,先让我们安装好相应的工具并对编程环境进行设置。

首先进入Python官方下载频道https://www.python.org/downloads,点击“Download Python 3.11.2”按钮进入下载页面(此数字会随着版本的升级而改变)。找到适合自己系统的下载链接,比如笔者为windows的64位系统,所以选择下载了“Windows installer (64-bit)”。双击下载所得的EXE可执行文件启动Python安装向导(图1)。

图1 Python安装向导

勾选“Add python.exe to PATH”项,这样就不用后期手动将Python程序添加到系统路径中了。点击“Install Now”即可自动安装。如果不希望安装到默认的C盘,可以点击“Customize installation”自定义安装项,根据向导提示一步步安装(图2)。

图2 Python自定义安装

作为初学者选择默认安装选项即可。安装成功后,对于Windows系统将会有一个“Disable path length limit(禁用路径长度限制)”的提示,这是因为Windows系统能够处理的文件路径长度有一定的限制(图3)。点击禁用这一限制可以避免处理长文件路径时出现的调试问题,不过这也可能导致与旧版本Windows 10的兼容性问题。对于我们初学者来说可以暂时跳过此选项,因为以后有需要时还可以修改注册表来解决。

图3 Python安装成功的界面

点击“Close”按钮关闭安装向导。现在我们测试Python是否安装成功。按Win+R键调出运行对话框,输入“cmd”后按回车键打开命令提示符窗口,然后输入“python”并按回车,如果能够显示出Python版本等信息内容,并且提示符变成了“>>>”,则表示安装成功了。此时可输入一行测试代码:

print("嗨,欢迎来到Python世界!")

按回车键执行,即可得到“嗨,欢迎来到Python世界!”的显示信息。几乎每种编程语言教程中都会展示一下“hello, world!”程序,虽然很俗套,但不得不说Python的实现是如此的简单。紧接着执行代码“exit”退出Python环境,完成此一阶段的测试(图4)。

图4 Python的“hello, world!”程序示例

命令提示符的界面过于简陋,我们可以试试Python自带的IDLE交互式开发环境。点击系统“开始”按钮,在开始菜单顶部的最近添加中就可以看到“IDLE(Pyton 3.11 64-bit)”程序了,点击即可打开。

IDLE通过不同的颜色区分代码及执行结果,清晰明了。尤其方便的是,当我们输入某个函数时,它会智能显示参数提示,辅助我们输入代码,非常方便(图5)。

图5 Python的IDLE交互式开发环境

除了一行一行的交互式执行,IDLE还可以执行扩展名为“py”的Python程序文件,下面就来做个测试。首先点击菜单命令“File→New File”打开IDLE的代码编辑器,输入以下代码:

# Python 3: 显示n个数以内的斐波纳契(Fibonacci)序列

def fib(n):

a, b = 0, 1

while a < n:

print(a, end=' ')

a, b = b, a+b

print

fib(1000)

代码解释:“#”后面的文字表示注释,是程序员对代码的说明,这是给阅读代码的人看的,Python解释器会自动忽略这一行。接下来的“def fib(n):”定义了一个名为“fib”的函数,其后缩进的几行代码就是该函数的内容,其主体是一个“while”循环,通过斐波纳契数列公式反复运算,运算结果通过“print”函数显示出来,其参数“end=' '”表示每个数字后面加几个空格,是为了将数字隔开(用来显示的print函数在后面的示例中将频繁出现)。当然,函数定义只是表明此函数能做什么,真正运行还得对它进行调用,这就是最后一行代码“fib(1000)”的作用,在调用该函数时,传递了一个参数“1000”,表示要计算1000以内的斐波纳契数列(图6)。

图6 斐波纳契数列计算

对于初学者来说可能还理解不了这段代码,没有关系,这正是后文要介绍的内容。现在按Ctrl+S键保存,在打开的保存对话框中输入文件名(本例取名为“Fibonacci”),这里无需手动添加“py”后缀,它会自动添加(图7)。

图7 保存Python程序文件

保存完毕,点击代码编辑器的菜单命令“Run→Run Module”,或者直接按F5键,即可运行这段代码了。下次在IDLE中,随时可以执行菜单命令“File→Open”打开“Fibonacci.py”文件,并按F5键运行(图8)。

图8 斐波纳契数列计算程序的输出结果

PyCharm——Python开发好伴侣

IDE是Integrated Development Environment的缩写,意为集成开发环境,主要用来辅助程序开发。Python并不一定需要IDE,因为它可以在任何文本编辑器中编写并从命令行运行。但是IDE可以提供许多辅助功能,例如代码调试、智能完成和语法高亮显示等。另外,IDE还可以提供重构、代码导航和项目管理等工具,这些工具可以帮助我们更快、更轻松地编写Python代码,并且可以更轻松地调试和维护代码。

Python开发人员有多种IDE可用,相对来说PyCharm是个非常不错的选择,它可以让Python开发过程变得更加轻松和高效。值得称道的是,PyCharm提供一个强大的社区版本,可以免费使用,并且可以在网上获得免费支持。

首先进入PyCharm主页https://www.jetbrAIns.com/pycharm,点击“DOWNLOAD”按钮进入下载频道,在“Windows”选项卡下可以看到“Professional(专业版)”和“Community(社区版)”两种版本,其中社区版是免费的,点击其下的“Download”按钮下载即可。比较而言,社区版缺少对科学工具、网站开发、Web框架、远程开发、数据库等的支持,不过对于一个初学者来说,这些影响不大(图9)。

图9 PyCharm专业版和社区版功能比较

双击下载所得的EXE文件启动安装向导,点击“Next”按钮进入下一步,根据向导提示选择安装位置,创建快捷方式以及关联py文件等,最后点击“Install”进行安装即可。安装完成,需要重新启动系统(图10)。

图10 PyCharm社区版安装向导

重启系统后,点击“开始”按钮,在开始菜单顶部的最近添加项中点击“PyCharm Community Edition 2022.3.2 ”启动PyCharm。第一次使用PyCharm需要进行一些设置,首先显示用户协议,只有勾选“I confirm that I have read and accept the terms of this User Agreement”(同意该协议)才可以继续。单击“Continue”按钮进入数据共享页面,如果不希望自己的数据被搜集,可以点击“Don't Send(不发送)”按钮继续,进入PyCharm的欢迎界面(图11)。

图11 PyCharm欢迎界面

在“Projects”选项卡下点击“New Project”按钮新建一个项目,接下来设置新项目的保存位置和名称(Location)。另外我们还得给PyCharm选定一个Python解释器,本例中笔者勾选了“New environment using”项,选择“Virtualenv”,可以看到其所用的解释器正是前文所安装的Python.exe(图12)。

图12 PyCharm新建项目窗口

设置完毕,点击“Create”按钮即可进入PyCharm主界面,可以看到新项目中已经自动生成了一个包含多行代码的Python文件“main.py”,这是因为本例在新建项目窗口中笔者勾选了“Create a main.py welcome ”项。点击菜单命令“Run→Run 'main.py'”,或者按Shift+F10快捷键,主界面下方即可实时运行该程序(图13)。

图13 包含了预置文件的PyCharm文档

我们可以在此项目中添加新的文件。点击菜单命令“File→New”打开新建对话框,可以选择多种文件类型,如网页文件、资源文件等,这里笔者选择创建Python文件(图14)。

图14 PyCharm可以创建多种类型的文件

接下来为新文件取一个名称,我们继续以上文中的斐波纳契数列为例,所以将文件名设置为“Fibonacci”,按回车键回到主界面,输入上文中斐波纳契数列的示例代码,然后点击菜单命令“Run→Run”,在弹出的窗口中单击刚刚创建的“Fibonacci.py”即可运行它并在主界面下方显示出运行结果了。在手动输入代码时,能够明显感受到PyCharm的智能提示、自动补全、代码检查、快速修复等功能的强大,可以大大提高工作效率(图15)。

图15 PyCharm的智能提示和自动补全功能

PyCharm功能丰富,很难在一遍短文中讲清楚,本文我们只需了解它的基本使用方法就够了。下面我们将着重分析Python的语法和程序结构。

Python的数据类型和数据结构

计算机科学领域有一个著名的公式:计算机程序=数据结构+算法。这一公式表明,数据结构是程序的核心,而算法是解决问题的步骤。所以我们在学习某一编程语言的时候,很有必要先了解一下它的数据类型和数据结构。

Python支持各种数据类型和数据结构,它们具有不同的属性和特性,可以用于不同的任务。下面是Python中常用的数据类型和数据结构的介绍。

Python简单数据类型常见的有以下几种(图16):

1、整数类型(int)

整数类型是Python中最基本的数据类型之一。它代表整数值,可以是正数、负数或零。在Python中,整数没有大小限制。

2、浮点数类型(float)

浮点数类型代表实数值,即包含小数点的数字。在Python中,浮点数也没有大小限制。

3、布尔类型(bool)

布尔类型代表真和假两个值,分别用True和False表示。布尔类型通常用于条件判断和循环控制中。

4、字符串类型(str)

字符串类型代表文本,即一系列字符的序列。字符串用单引号、双引号或三引号表示。三引号可以将多行文本括起来。Python中的字符串是不可变的,也就是说,一旦创建了字符串,就不能修改它的值。

图16 Python中常见的数据类型示例

Python常见的数据结构有以下几种(图17):

1、列表(list)

列表是Python中最常用的数据结构之一,它是一个有序、可变的集合。列表中的元素可以是不同的数据类型。可以使用索引等操作来访问和修改列表中的元素。列表用中括号“[]”表示。

2、元组(tuple)

元组是另一个有序的集合,它是不可变的。元组中的元素可以是不同的数据类型。与列表不同,元组不能修改。元组用小括号“”表示。

3、集合(set)

集合可以包含不同的元素,它是无序的,没有重复的值。集合可以用于集合运算,例如并集、交集和差集。集合用大括号“{}”表示。

4、字典(dict)

字典是Python中的映射类型,它是无序的键值对集合,没有重复的值。每个键都必须是唯一的,但值可以重复。可以使用键来访问和修改字典中的值。字典也用中括号“{}”表示,只是其中的数据都是键值对形式。

图17 Python常见的数据结构示例

以上只是Python中最基本和最常用的数据类型及数据结构。除此之外,Python还有其他一些数据类型,例如字节类型(bytes)、字节数组(bytearray)、内存视图(memoryview)、范围类型(range)、空类型(none)等等,这里不再一一细述。熟悉这些数据类型和数据结构的特性和用法,可以帮助我们更好地编写Python程序。

Python变量及赋值

如前文所述,计算机程序就是数据+算法。当一个程序运行时,其相关数据被加载到内存中。内存如同一个大仓库,被分割为一个个小库房。当程序需要使用某个库房时,首先要做一个声明,表示要占用该库房,并为其贴上一个标签。用编程术语来说,就是“声明”了一个“变量”。声明变量后,就可以在里面储存各色货物(数据)了,编程术语称之为“赋值”,这一操作通过等号运算符“=”来实现,等号左侧为变量名称,等号右侧即赋予该变量的数据。以下代码显示了Python中的几种赋值方式:

x = 1

x += 1

x, y, z = 1, 2, "Hello!"

x = y = z = 99.9

第1种是基本赋值,使用“=”将值赋给变量。

第2种是增量赋值,将一个值添加到变量的现有值中。假设变量x的初始值为1,那么“x += 2”就将x的值变成了1加2等于3了。这其实是一种复合运算符赋值,如果将等号前的加号换成减号(x -= 2)则x将被赋值为1减2等于“-1”,如果将加号换成乘号(x *= 2)将得到1乘2等于2的值,以此类推。

第3种是多元赋值,如果需要赋值的变量很多,可以将它们放到一行中进行赋值,只需用逗号将每个变量隔开即可,等号后面各变量对应的赋值也同样用逗号隔开。

第4种是链式赋值,适用于将同样一个数据同时赋值给多个变量。

理论上来说变量名可以由任意字符组成,不过Python对变量命名实际还是有一定限制的,规则要求:变量名只能由字母、数字和下划线组成,且不能以数字开头,另外变量名不能是Python关键字。比如“num_01”是合法变量名,而“01_num”则是非法变量名。再比如“my_var_name”是合法的,而带空格的“my var name”则是非法的。另外像“if”、“while”、“for”等Python所保留的关键字是不能用来做变量名的。对于Python变量名还有一点需要注意,就是它是区分大小写的,像“mytime”和“myTime”,这实际上是两个变量。

变量还有一个重要属性,即变量的类型,它规定了变量能够储存什么样的数据。变量类型即上文所介绍的各类数据类型。其实所谓布尔类型(bool)、整数类型(int)、浮点数类型(float)、字符串类型(str)等等,只是一个形象说法,其本质就是定义了该变量占用多大的空间,比如1个布尔变量只占用1位空间,而一个整数变量则需要8位(1字节)空间。其他编程语言,比如C++、JAVA等,声明一个变量时需要明确声明其数据类型,而Python则省略了这一步,它直接通过所赋值的数据来自动确定该变量的类型,比如“x = 1”自动将x设置为整数类型,而“x = 99.9”则自动将x设置为浮点数类型。

Python表达式和运算符

如果说变量是程序的“词汇”,那么表达式就是程序的“句子”。词汇量再丰富,不把它们组织成句子就毫无意义。Python中的表达式,是指由运算符、操作数(变量和值)和函数调用一起构成的组合,用以计算某种值的的公式。表达式总是会被计算并返回一个结果。

运算符是构成表达式的重要元素,它相当于粘合剂将数据连接到一起,作为算法的“执行者”它对变量和值进行操作。Python中的运算符大致分为以下七大类。

1、算术运算符:这类运算符执行基本的算术运算,如加(+)、减(-)、乘(*)、除(/)、模(%)和取幂(**)。以下代码中,首先声明了a、b两个整数变量并分别赋值,然后对它们依次进行了加、除、模等算术运算,并通过print函数打印出运算结果(见其后的注释语句,下同)。

# Arithmetic operators

a = 5

b = 2

print(a + b) # Output: 7

print(a / b) # Output: 2.5

print(a % b) # Output: 1

2、比较运算符:这类运算符比较两个值并返回一个布尔值(True或False)。它们包括等于(==)、不等于(!=)、大于(>)、小于(<)、大于或等于(>=)和小于或等于(<=)。以下代码首先声明了x、y两个整数变量并分别赋值,然后依次进行了大于和等于这两种比较运算,其计算结果,x大于y是对的,所以返回结果True(真),而x==y显然是错误的,所以返回结果为Flase(假)。

# Comparison operators

x = 10

y = 5

print(x > y) # Output: True

print(x == y) # Output: False

3、逻辑运算符:这类运算符对布尔值执行逻辑操作。它们包括逻辑与(AND)、逻辑或(OR)和逻辑非(NOT)。以下代码首先声明了a、b两个布尔变量,分别赋值为True(真)和Flase(假)。同一件事不可能同时又真又假,这个判断显然是错误的,所以逻辑与运算“a and b”返回的结果是False(假)。而一件事或者是真或者是假,必居其一,这个判断是正确的,所以逻辑或运算“(a or b)”返回的结果为True(真)。

# Logical operators

a = True

b = False

print(a and b) # Output: False

print(a or b) # Output: True

4、位运算符:这类运算符对二进制值执行位操作。包括按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、左移(<<)、右移(>>)。以下代码中,首先声明了x、y两个整数变量,不过它们的赋值采用的二进制,所以数字前面加上了“0b”标志,其中二进制的1010等于十进制的10,二进制的1100等于十进制的12。最后两行代码分别对两个变量进行了按位与以及按位或运算,得到了8和14的运算结果。

# Bitwise operators

x = 0b1010 # Binary representation of 10

y = 0b1100 # Binary representation of 12

print(x & y) # Output: 0b100 (binary representation of 8)

print(x | y) # Output: 0b1110 (binary representation of 14)

5、赋值运算符:这类运算符为变量赋值。上文已有详细介绍,此处不再赘述,下面仅举一个增量赋值的简单示例,“a += 2”表示在原有的值5之上再加2,所以最终赋值结果是7。

# Assignment operators

a = 5

a += 2

print(a) # Output: 7

6、标识运算符:这类运算符比较两个标识符的存储单元(内存地址),判断它们是不是引用自同一个对象(x is y),类似id(x) == id(y),如果引用的是同一个对象则返回True,如果不是则返回False。反之,则判断两个标识符是不是引用自不同的对象(x is not y)。以下代码首先声明了一个列表变量,接着又将该变量的地址赋值给了变量y,这两个变量实际指向的是同一个内存地址,所以“x is y”的标识运算结果为True(真)。反之,变量z虽然也是一个列表,并且其值和x相同,但它们并不在同一个内存地址上,所以“x is z”的标识运算结果为False(假)。

# Identity operators

x = [1, 2, 3]

y = x

z = [1, 2, 3]

print(x is y) # True

print(x is z) # False

7、成员关系运算符:这类运算符检查值是否为序列或集合的成员,它们包括in和not in。以下代码,通过“in”运算符指出2是列表numbers的成员,并以“not in”运算符指出6不是列表numbers的成员,这两个运算都是对的,所以返回的结果都为True(真)。

# Membership operators

numbers = [1, 2, 3, 4, 5]

print(2 in numbers) # Output: True

print(6 not in numbers) # Output: True

除了以上运算符表达式外,Python还有字符串表达式、函数调用表达式,以及针对列表、元组和字典进行运算的表达式。每一类表达式都有各自的特色,它们是编程的重要组成部分,理解它们如何工作对于编写有效的代码至关重要。

表达式是用来计算的,但是如何控制计算的流程和逻辑以实现特殊的算法,就需要用到控制语句了。和其他编程语言一样,Python的控制语句主要有三大类:顺序语句、条件语句(if语句)和循环语句(for语句和while语句)。其中顺序语句比较容易理解,即从先到后按顺序一条一条执行代码命令,我们上面的示例基本都是顺序语句。接下来我们重点介绍条件语句和循环语句。

条件语句

条件语句用于根据条件决定程序的执行路径,通常是实现分支选择。它的基本语法如下:

if condition:

# 如果condition为True,则执行这里的语句

elif condition2:

# 如果condition为False,但是condition2为True,则执行这里的语句

else:

# 如果上述所有条件都为False,则执行这里的语句

Python的条件语句使用if、elif和else关键字,其中if语句是必须的,elif和else语句是可选的。条件语句中的condition和condition2可以是任何返回布尔值的表达式,例如比较操作、逻辑操作或函数调用等。

下面是一个简单的例子,演示如何使用条件语句判断一个数是正数、负数还是零:

num = 5

if num > 0:

print("这个数是正数")

elif num == 0:

print("这个数是零")

else:

print("这个数是负数")

在这个例子中,如果num大于0,则打印出“这个数是正数”;否则,如果num等于0,则打印出“这个数是零”;当num小于0时,打印出“这个数是负数”。

注意,Python中缩进非常重要,因为它是区分代码块的方式。条件语句中的每个代码块必须缩进相同的空格数,通常是四个空格。

循环语句

循环语句用于重复执行一段代码。Python提供了两种循环语句:for循环和while循环。

for循环用于遍历序列(例如列表、元组、字符串等)中的每个元素。for循环的基本语法如下:

for variable in sequence:

# 在这里执行循环体代码

其中,variable是一个变量名,用于存储序列中当前遍历到的元素;sequence是一个序列,可以是列表、元组、字符串等。for循环将会遍历sequence中的每个元素,并将其赋值给variable,然后执行循环体代码,直到遍历完所有元素。

下面这个简单的例子演示了如何使用for循环遍历一个列表:

numbers = [1, 2, 3, 4, 5]

for num in numbers:

print(num)

这个例子中我们定义了一个列表numbers,然后使用for循环遍历列表中的每个元素,并将其赋值给变量num,最后打印出num的值(图18)。

图18 for循环遍历列表后输出

while循环重复执行一段代码,直到指定的条件不再满足。while循环的基本语法如下:

while condition:

# 在这里执行循环体代码

其中,condition是一个返回布尔值的表达式。只要condition为True,while循环就会一直执行循环体代码,直到condition变为False为止。

下面这个例子演示了如何使用while循环计算1到10的和:

total = 0

i = 1

while i <= 10:

total += i

i += 1

print("1到10的和为:", total)

本例我们定义了变量total和i,然后使用while循环重复执行计算1到10的和的代码,直到i大于10为止,最后打印出计算结果(图19)。

注意,在使用while循环时,必须确保条件可以在某个时刻变为False,否则循环将会无限执行下去,导致程序卡死。可以使用break语句或者修改循环变量的值来结束循环。

图19 while循环演示

Python函数定义和调用

函数是一组执行特定任务的代码,它可以重复使用,从而提高代码的重用性和可读性。在Python中,函数定义通常为以下格式:

def function_name(parameters):

"""

Docstring:函数的文档字符串,用于描述函数的用途和参数。

"""

# code block to be executed

return value # 可选

上述定义中,def是函数定义的关键字;function_name是函数的名称,由字母、数字和下划线组成;parameters是函数的参数,这是可选的,可以是零个或多个;Docstring是函数的文档字符串,用于描述函数的用途和参数,也是可选的;return是函数的返回值,同样也是可选的。

下面介绍一个简单的Python函数示例:

def greet(name):

"""

此函数对作为参数传送的人表达欢迎。

"""

print("嗨, " + name + ",欢迎光临!")

greet("韩梅梅")

本例定义了一个名为greet的函数,它带有一个参数name,用于向函数传递一个名称。函数的主体包括一个打印语句,它将问候语与传递的名称一起打印。函数定义后,需要调用它才能够执行,所以代码的最后是函数调用语句,并传递了一个名称“韩梅梅”(图20)。

图20 Python函数定义和调用

这只是一个简单的例子,函数可以执行比这更复杂的任务。函数的优点之一,就是它们可以帮助你将代码组织成更小、更易于管理的模块,并将代码分解为可维护的部分。函数还可以使用return语句返回值,允许将计算结果传递回调用代码。

Python的程序结构

上面学习了Python的基础知识,现在就让我们来了解一下完整的Python程序文件是什么样。一般来说,Python的程序结构通常由以下几个部分分组成。

1、导入模块:在程序的开头,我们通常需要导入需要使用的模块。这些模块包含Python内置的模块,也包括第三方库和自定义模块。例如:

import math

import numpy as np

from my_module import my_function

2、全局变量和常量:在程序的顶部,通常定义一些全局变量和常量。这些变量可以在程序的任何地方访问。例如:

PI = 3.14159

name = "John"

3、函数定义:在程序的中间通常定义各种函数,用于执行特定的任务。

4、主程序代码:程序底部通常编写主程序代码,用于执行程序的主要功能。主程序代码可以调用导入的模块、全局变量和常量以及定义的函数。例如:

import math

PI = 3.14159

def area_of_circle(radius):

return PI * radius ** 2

def main:

r = 5

area = area_of_circle(r)

print("The area of the circle with radius", r, "is", area)

if __name__ == '__main__':

main

本例我们定义了一个计算圆的面积的函数area_of_circle,然后在主程序代码中使用该函数计算圆的面积并输出结果。

注意,在这个例子中,我们使用“if __name__ == '__main__':”语句来检查是否在运行当前模块。如果模块是主程序运行的,它将执行main函数,否则将忽略它。这个语句通常用于避免在模块被导入时执行一些不必要的代码。

总之,在Python中,程序结构的规范化编写有助于使代码更易于阅读、理解和维护。对于大型项目,通常需要更复杂的程序结构和更具体的组织方式,例如使用面向对象编程。

Python编程实战

使用Python的优势之一就是有大量的第三方库可以使用,我们无需从头开发,即可实现非常专业的应用。下面的实战,我们通过Python加第三方库的方式对Excel表格进行处理。

假设我们有一个记录全班同学考试成绩的原始Excel文件,其中包括每个人的姓名、学号及各科成绩的数据(图21)。现在因为某种需求,要把其中的“姓名”和“语文成绩”两列数据提取出来,单独保存为新的Excel文件。

图21 学生成绩数据

能够处理Excel文件的第三方库有不少,这里我们选用的是Openpyxl。开始之前请先安装它,操作极其简单。打开Windows的命令提示符窗口,执行“pip install openpyxl”命令即可(图22)。

图22 通过pip命令安装Python第三方库

我们也可以在PyCharm中安装这个库。点击窗口底部的“Python Packages”选项打开一个窗格,然后在搜索框中输入“openpyxl”,找到之后点击右侧的“Install package”按钮即可安装(图23)。

图23 在PyCharm中安装Openpyxl库

需要注意的是,Openpyxl库只支持xlsx格式的Excel文件,不支持旧版的xls文件。万事俱备,接下来就可以PyCharm中编写Python程序了:

import openpyxl

# 打开原始Excel表格文件

workbook = openpyxl.load_workbook('原始数据.xlsx')

# 选择原始Excel表格中的第一个工作表

worksheet = workbook.active

# 创建一个新的工作簿

new_workbook = openpyxl.Workbook

# 选择新工作簿中的第一个工作表

new_worksheet = new_workbook.active

# 将原始Excel表格中的“姓名”和“语文成绩”两列数据提取出来,并添加到新工作表中

for row in worksheet.iter_rows(values_only=True):

name, score = row[0], row[3]

new_worksheet.Append([name, score])

# 保存新工作簿到Excel文件中

new_workbook.save('姓名与语文成绩.xlsx')

上述程序首先通过“import openpyxl”语句导入Openpyxl库,然后使用“openpyxl.load_workbook”函数打开原始Excel表格文件,该函数将返回一个Workbook对象,存储在名为workbook的变量中。接下来,使用workbook.active选择原始Excel表格中的第一个工作表,该工作表将作为程序读取数据的来源。

接着,使用“openpyxl.Workbook”函数创建一个新的工作簿,将返回一个Workbook对象,存储在名为new_workbook的变量中。使用new_workbook.active选择新工作簿中的第一个工作表,该工作表将作为程序写入数据的目标。

然后,使用“worksheet.iter_rows”函数迭代原始Excel表格中的每一行数据,其中values_only=True表示只返回单元格的值。在每次迭代中,使用row[0]和row[3]提取出当前行中的“姓名”和“语文成绩”两列数据,分别存储在名为name和score的变量中。最后,使用“new_worksheet.append”函数将name和score写入到新工作表中。

最后,使用“new_workbook.save”函数将新工作簿中的数据保存到Excel文件中,文件名为“姓名与语文成绩.xlsx”。

将原始数据Excel文件和Python程序文件放到同一个文件夹中,按Shift+F10键运行程序,即可在该文件夹中保存一个仅有“姓名”和“语文成绩”两列的新的Excel文件了(图24)。

图24 运行程序得到新的Excel文件

当然,Python编程内容丰富,不是一篇文章就能介绍完的。如果本文能为大家学习Python带来些许的帮助,笔者也就知足了。 CF

原文刊登于2022 年 12月15 日出版《电脑爱好者》第 24 期

END



Tags:Python   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
Python 可视化:Plotly 库使用基础
当使用 Plotly 进行数据可视化时,我们可以通过以下示例展示多种绘图方法,每个示例都会有详细的注释和说明。1.创建折线图import plotly.graph_objects as go# 示例1: 创建简单...【详细内容】
2024-04-01  Search: Python  点击:(8)  评论:(0)  加入收藏
Python 办公神器:教你使用 Python 批量制作 PPT
介绍本文将介绍如何使用openpyxl和pptx库来批量制作PPT奖状。本文假设你已经安装了python和这两个库。本文的场景是:一名基层人员,要给一次比赛活动获奖的500名选手制作奖状,并...【详细内容】
2024-03-26  Search: Python  点击:(17)  评论:(0)  加入收藏
Python实现工厂模式、抽象工厂,单例模式
工厂模式是一种常见的设计模式,它可以帮助我们创建对象的过程更加灵活和可扩展。在Python中,我们可以使用函数和类来实现工厂模式。一、Python中实现工厂模式工厂模式是一种常...【详细内容】
2024-03-07  Search: Python  点击:(33)  评论:(0)  加入收藏
不可不学的Python技巧:字典推导式使用全攻略
Python的字典推导式是一种优雅而强大的工具,用于创建字典(dict)。这种方法不仅代码更加简洁,而且执行效率高。无论你是Python新手还是有经验的开发者,掌握字典推导式都将是你技能...【详细内容】
2024-02-22  Search: Python  点击:(34)  评论:(0)  加入收藏
如何进行Python代码的代码重构和优化?
Python是一种高级编程语言,它具有简洁、易于理解和易于维护的特点。然而,代码重构和优化对于保持代码质量和性能至关重要。什么是代码重构?代码重构是指在不改变代码外部行为的...【详细内容】
2024-02-22  Search: Python  点击:(35)  评论:(0)  加入收藏
Python开发者必备的八个PyCharm插件
在编写代码的过程中,括号几乎无处不在,以至于有时我们会拼命辨别哪个闭合括号与哪个开头的括号相匹配。这款插件能帮助解决这个众所周知的问题。前言在PyCharm中浏览插件列表...【详细内容】
2024-01-26  Search: Python  点击:(87)  评论:(0)  加入收藏
Python的Graphlib库,再也不用手敲图结构了
Python中的graphlib库是一个功能强大且易于使用的工具。graphlib提供了许多功能,可以帮助您创建、操作和分析图形对象。本文将介绍graphlib库的主要用法,并提供一些示例代码和...【详细内容】
2024-01-26  Search: Python  点击:(88)  评论:(0)  加入收藏
大语言模型插件功能在携程的Python实践
作者简介成学,携程高级安全研发工程师,关注Python/Golang后端开发、大语言模型等领域。一、背景2023年初,科技圈最火爆的话题莫过于大语言模型了,它是一种全新的聊天机器人模型,...【详细内容】
2024-01-26  Search: Python  点击:(74)  评论:(0)  加入收藏
如何使用Python、Apache Kafka和云平台构建健壮的实时数据管道
译者 | 李睿审校 | 重楼在当今竞争激烈的市场环境中,为了生存和发展,企业必须能够实时收集、处理和响应数据。无论是检测欺诈、个性化用户体验还是监控系统,现在都需要接近即时...【详细内容】
2024-01-26  Search: Python  点击:(47)  评论:(0)  加入收藏
Python分布式爬虫打造搜索引擎
简单分布式爬虫结构主从模式是指由一台主机作为控制节点负责所有运行网络爬虫的主机进行管理,爬虫只需要从控制节点那里接收任务,并把新生成任务提交给控制节点就可以了,在这个...【详细内容】
2024-01-25  Search: Python  点击:(59)  评论:(0)  加入收藏
▌简易百科推荐
Python 可视化:Plotly 库使用基础
当使用 Plotly 进行数据可视化时,我们可以通过以下示例展示多种绘图方法,每个示例都会有详细的注释和说明。1.创建折线图import plotly.graph_objects as go# 示例1: 创建简单...【详细内容】
2024-04-01  Python技术    Tags:Python   点击:(8)  评论:(0)  加入收藏
Python 办公神器:教你使用 Python 批量制作 PPT
介绍本文将介绍如何使用openpyxl和pptx库来批量制作PPT奖状。本文假设你已经安装了python和这两个库。本文的场景是:一名基层人员,要给一次比赛活动获奖的500名选手制作奖状,并...【详细内容】
2024-03-26  Python技术  微信公众号  Tags:Python   点击:(17)  评论:(0)  加入收藏
Python实现工厂模式、抽象工厂,单例模式
工厂模式是一种常见的设计模式,它可以帮助我们创建对象的过程更加灵活和可扩展。在Python中,我们可以使用函数和类来实现工厂模式。一、Python中实现工厂模式工厂模式是一种常...【详细内容】
2024-03-07  Python都知道  微信公众号  Tags:Python   点击:(33)  评论:(0)  加入收藏
不可不学的Python技巧:字典推导式使用全攻略
Python的字典推导式是一种优雅而强大的工具,用于创建字典(dict)。这种方法不仅代码更加简洁,而且执行效率高。无论你是Python新手还是有经验的开发者,掌握字典推导式都将是你技能...【详细内容】
2024-02-22  子午Python  微信公众号  Tags:Python技巧   点击:(34)  评论:(0)  加入收藏
如何进行Python代码的代码重构和优化?
Python是一种高级编程语言,它具有简洁、易于理解和易于维护的特点。然而,代码重构和优化对于保持代码质量和性能至关重要。什么是代码重构?代码重构是指在不改变代码外部行为的...【详细内容】
2024-02-22  编程技术汇    Tags:Python代码   点击:(35)  评论:(0)  加入收藏
Python开发者必备的八个PyCharm插件
在编写代码的过程中,括号几乎无处不在,以至于有时我们会拼命辨别哪个闭合括号与哪个开头的括号相匹配。这款插件能帮助解决这个众所周知的问题。前言在PyCharm中浏览插件列表...【详细内容】
2024-01-26  Python学研大本营  微信公众号  Tags:PyCharm插件   点击:(87)  评论:(0)  加入收藏
Python的Graphlib库,再也不用手敲图结构了
Python中的graphlib库是一个功能强大且易于使用的工具。graphlib提供了许多功能,可以帮助您创建、操作和分析图形对象。本文将介绍graphlib库的主要用法,并提供一些示例代码和...【详细内容】
2024-01-26  科学随想录  微信公众号  Tags:Graphlib库   点击:(88)  评论:(0)  加入收藏
Python分布式爬虫打造搜索引擎
简单分布式爬虫结构主从模式是指由一台主机作为控制节点负责所有运行网络爬虫的主机进行管理,爬虫只需要从控制节点那里接收任务,并把新生成任务提交给控制节点就可以了,在这个...【详细内容】
2024-01-25  大雷家吃饭    Tags:Python   点击:(59)  评论:(0)  加入收藏
使用Python进行数据分析,需要哪些步骤?
Python是一门动态的、面向对象的脚本语言,同时也是一门简约,通俗易懂的编程语言。Python入门简单,代码可读性强,一段好的Python代码,阅读起来像是在读一篇外语文章。Python这种特...【详细内容】
2024-01-15  程序员不二    Tags:Python   点击:(166)  评论:(0)  加入收藏
Python语言的特点及应用场景, 同其它语言对比优势
Python语言作为一种高级编程语言,具有许多独特的特点和优势,这使得它在众多编程语言中脱颖而出。在本文中,我们将探讨Python语言的特点、应用场景以及与其他语言的对比优势。一...【详细内容】
2024-01-09    今日头条  Tags:Python语言   点击:(257)  评论:(0)  加入收藏
站内最新
站内热门
站内头条