资源描述
第1章 搭建Python的工作平台
课程名称
Python程序设计基础教程
章名
搭建Python的工作平台
教学内容
搭建Python的工作平台
课时
2
项目性质
□演示性 □验证性 □设计性 √综合性
授课班级
授课日期
授课地点
教学目标
了解Python的安装
了解Sublime Text的安装
掌握Python程序的运行
了解Python自带的集成开发环境IDLE
教学内容
Python的安装
Sublime Text的安装
Python程序的运行
Python自带的集成开发环境IDLE简介
教学重点
Sublime Text编辑器基础知识、Python程序的运行、IDLE基础知识
教学难点
Sublime Text编辑器基础知识、Python程序的运行、IDLE基础知识
教学准备
装有Python的计算机
教学课件PPT
教材:《Python程序设计基础教程(慕课版)》
作业设计
1
教学过程
教学环节
教学内容与过程
(教学内容、教学方法、组织形式、教学手段)
课前组织
做好上课前的各项准备工作(打开计算机、打开课件、打开软件、打开授课计划、教案等),吸引学生注意力。
课程说明
【课前说明】
从搭建Python的工作平台引入本章学习内容。
【目的】
使学生从了解本节课的学习目标、学习重点、考评方式等方面明确课程学习的要求和目标。
课程内容描述
1.1 Python的安装
学习Python之前,首先要安装Python,并搭建Python的工作平台。
1.1.1 在Windows操作系统下安装Python
打开浏览器,进入Python的官网,如图所示。
选择“Downloads”菜单,即可进入下图所示的下载界面。
单击画面中的黄色按钮即可下载当前最新版本的Python安装程序。本书以Python 3.6.4版本为例,其他版本的安装和使用方法类似。单击“下载”按钮,下载Python的安装程序。
这时桌面上出现下图所示的“新建下载任务”对话框,里面给出了下载的网址、名称和下载到的位置。如果保持默认设置,系统会将名称为“python-3.6.4.exe”的软件下载到“C:\”(C盘的根目录)下。
下载完成后,屏幕上会出现下图所示的“打开文件-安全警告”对话框。
单击“运行”按钮,就会出现图所示的“Python 3.6.4(32-bit)Setup”对话框。
选择“Install Now”选项,开始安装,如图所示。
安装成功后,单击“Close”按钮,如图所示。
就会出现下图所示的“管理员:C:\Windows\system32\cmd.exe-python”窗口,它正是我们所需要的Python工作窗口,因为它显示了Python提示符“>>>”。
下载、安装完成后,可以查看当前计算机的C盘。这时,在其根目录下会出现Python的标识“python-3.6.4”,如图所示。
1.1.2 Python的版本更新和卸载
如果计算机系统里已经安装了Python,那么除非出现了新的版本,否则没有必要再去安装它。
识别计算机系统里有没有安装Python,有如下两种方法。
(1)在桌面上按住Shift键的同时单击鼠标右键,在弹出的快捷菜单中选择“在此处打开命令窗口(W)”选项,打开下图所示的命令窗口。
这时,在提示符“>”后输入“python”,并按Enter键,如果窗口显示的结果如图所示,则表明系统目前没有安装Python。
(2)单击桌面上的“开始”按钮,选择里面的“运行”命令或按Win+R组合键,打开“运行”对话框,输入“command”,如图所示。
单击“确定”按钮后,就会出现下图所示的窗口。
这时,在“>”后输入“python”,按Enter键。若结果是“‘python’不是内部或外部命令,也不是可运行的程序或批处理文件。”表明系统里没有Python;但如果显示“>>>”,如图所示,表明系统已经安装了Python。
要退出Python,可以在提示符“>>>”后输入命令“exit()”或按Ctrl+Z(^Z)组合键。
如果已安装了Python,需要更新或卸载Python,可以重复以上的安装步骤,在出现下左图所示的对话框后,会直接出现下右图所示的对话框。这里提供了3项功能:Modify(修改)、Repair(恢复)、Uninstall(卸载)。
1.2 Sublime Text的安装
Sublime Text是一款跨平台的代码编辑器,具有美观的用户界面和强大的功能。本书以Sublime Text作为Python程序的编写工具。下面介绍Sublime Text的安装与使用方法。
1.2.1 在Windows操作系统下安装Sublime Text
进入Sublime Text中文官网,如图所示。
单击“下载”按钮,打开下载界面,如图所示。根据自己的计算机配置,选择下载合适的安装版本。
下载完成后,双击安装文件,打开下图所示的“Sublime Text3”对话框。
勾选“添加到开始菜单”和“安装完成后立即运行”两个复选框后,单击“立即安装”按钮,出现下图所示的对话框,可以根据自己的需要选择软件的安装位置。这里将Sublime Text安装位置更改为D盘。注意不要勾选图中的复选框。
单击“下一步”按钮,出现下图所示的对话框。
注意不要勾选图中的复选框。安装结束后,屏幕上就会立即出现编辑器Sublime Text3的工作窗口,如图所示。下面就可以开始利用它来进行Python语言程序的编写了。
通过上述安装过程,Sublime Text 3的快捷方式也会出现在桌面上,双击该图标即可打开程序。
1.2.2 Sublime Text简介
从上图中可以看出,Sublime Text编辑器分为5个部分:当前编辑文本、菜单行、打开文件区、文本编辑区状态和文本编辑区。
1.当前编辑文本
“当前编辑文本”记录了编辑器正在为哪个文本服务。上图中记录的是“untitled”,即一个未命名的新创建的文本文件。而在下图中,显示的则是“D:\test4.py”,表示正在为D盘根目录下的test4.py文本服务。
2.菜单行
“菜单行”里的菜单项都有自己的子菜单,以对应完成不同的工作。例如,菜单项“文件(F)”的子菜单里有“新建文件(N)”“打开文件(O)”“保存(S)”等,它们的含义大都是明确的,这里不再细讲。
3.打开文件区
“打开文件区”(OPEN FILES)按照打开的顺序列出了文件的名字。例如,在上图中,先后打开的文件是test1.py、test2.py和test4.py。其中,文件test4.py高亮显示,表明上图的“文本编辑区”里显示的是test4.py的文本内容,并正在对它进行编辑工作。
4.文本编辑区状态
“文本编辑区状态”栏里,最左边记录的是光标在文本编辑区里的位置(行和列);“Tab Size:4”表示按Tab键,光标移动的距离是4个空格;最右边记录的是“纯文本”或“Python”,与目前正在编辑的文件类型有关,如果正在编辑的文件后缀是“.py”(Python文件),就呈现为“Python”,否则就呈现为“纯文本”。
5.文本编辑区
只要在“打开文件区”里有打开的文件,在“文本编辑区”上方的标签栏中就会列出当前已打开文件的文件名,且正在被编辑的文件名高亮显示,与“打开文件区”是同步的。单击文件名,该文件的内容就会出现在“文本编辑区”中供用户编辑。单击文件名右边的“×”按钮可以关闭文件,如图所示。
1.3 Python程序的运行
计算机中安装了Python及Sublime Text后,就可以在它们的协助下,开始进行编写程序的工作了。
1.3.1 Python程序的运行步骤
1.调用Sublime Text,编写程序
在Sublime Text的文本编辑区,输入“输出问候语”程序的代码:
1 first_name="adam"
2 last_name="smith"
3 full_name=first_name+"."+last_name
4 massage="hello,"+full_name+" !"
5 print(massage)
程序要实现的功能:
● 第1条语句是将名字“adam”存储在变量first_name里。
● 第2条语句是将姓“smith”存储在变量last_name里。
● 第3条语句是将名和姓拼成全名存储在变量full_name里。
● 第4条语句是拼成一句问候语,并将其存储在变量massage里。
● 第5条语句是在屏幕上输出问候语,如图所示。
2.保存程序
执行“文件(F)”→“保存(S)”命令,将编辑的文件存放在D盘根目录下,取名为“test”,如图所示。由于Sublime Text在D盘,将test.py存放在D盘会比较方便。
在上图所示对话框中,单击“保存”按钮后,Sublime Text编辑器窗口变为下图所示的窗口。请注意,这之间发生了很多变化:文件名变了;文件的性质由“纯文本”变为了“Python”;在程序文本里,有的符号和名称改变了颜色。这一切都是编辑器Sublime Text为程序员提供的信息,为程序员编写出正确的程序代码提供的便利。这些信息,随着学习的深入,我们会越来越多地涉及,也会渐渐体会到使用Sublime Text编辑程序的便利。
3.执行程序
在桌面上,按住Shift键的同时单击鼠标右键,从弹出的快捷菜单里选择“在此处打开命令窗口(W)”选项(或“在此处打开Powershell窗口(S)”选项),进入“管理员:C:\Windows\system32\cmd.exe”窗口,如图所示。
在“>”提示符后键入“d:”,将命令窗口切换到D盘“D:\ >”。在“D:\ >”后键入“python test.py”,随后按Enter键。程序test.py将被Python执行,在屏幕上输出结果“hello,adam.smith !”,如图所示。
安装Python至下图所示步骤时,曾强调要将图中左下方的复选框“Add Python 3.6 to PATH”勾选。这个动作的作用是将Python添加到计算机的环境变量PATH中去。这样一来,以后每次使用Python时,就不必输入完整的路径了。这里的操作就体现了该动作的重要性。
1.3.2 开始编程前的两点建议
1.双窗口并行操作
为了编程方便,在工作时可以将Python及Sublime Text两个窗口同时在桌面上打开,如图所示。要在哪一个窗口工作,就单击激活哪一个窗口。这样的桌面布局,会给编程和开发工作带来便利。
2.先建立空的Python文件,后进行编程
按照前面所述的编程步骤,使用Sublime Text时,其窗口的性质从“纯文本”变成了“Python”。为了利用Sublime Text提供的编程便利,建议编程时不要先忙于编写程序的内容,而是先创建一个只有一个空行的“空”文件,为它起一个名字后保存,使其成为一个“Python”性质的程序。建立空文件的方法如下。
进入Sublime Text,执行“文件(F)”→“新建文件(N)”命令,这时光标位于第1行。按Enter键换行后,光标停留在第2行上;其窗口如图所示。
这时,执行“文件(F)”→“保存(S)”命令,为文件起名为“test1.py”。文件保存后,窗口性质就由“纯文本”变为“Python”了,如图所示。
这样,我们在这个“空”文件里编辑程序时,Sublime Text所提供的一切编程便利就都可以使用了。
1.3.3 交互执行模式
在简单的情况下,只需启动Python命令窗口,就可以以交互的方式,一条一条地执行键入的语句。仍以前面给出的“输出问候语”程序为例。具体步骤如下。
1.进入Python命令窗口
在桌面上按Shift键的同时单击鼠标右键,从弹出的快捷菜单里选择“在此处打开命令窗口(W)”选项,屏幕上出现熟悉的命令窗口。在提示符“>”后键入“python”并按Enter键,窗口如图所示,出现了Python提示符“>>>”。
2.输入命令并得到结果
在Python提示符“>>>”后每输入一条命令就按Enter键,一直到输入完最后一条命令“print(massage)”并按Enter键,在窗口里得到结果 “hello,adam.smith !”,如图所示。
不难理解,在Python提示符“>>>”后输入一条命令,Python就执行这条命令,然后等待在提示符“>>>”后输入下一条命令。
不同于用Sublime Text编写好程序,然后通过Python调用该程序执行的“程序执行”模式,我们称这种单条执行的模式为Python的“交互执行”模式。也就是说,Python有两种工作模式:“程序执行”和“交互执行”。
1.4 Python自带的集成开发环境IDLE简介
在安装Python后,系统会自动提供一个标准的集成开发环境IDLE,程序设计人员可以利用它直接与Python进行交互。
1.寻找你的IDLE
如果Python安装在C盘,那么为了寻找IDLE,可在C盘下进行搜索,下图是在我的计算机里寻找的结果。这就是Python自带的集成开发环境IDLE。
打开IDLE,该窗口的名称为“Python 3.6.4 Shell”,如图所示,可以利用它与Python交互工作了:编写、编辑、调试、存储、运行、修改,等等。有了IDLE,就可以用它来编写Python的程序了,如同我们在Sublime Text里所做的事情那样。
2.用IDLE编写“Hello Python!”
上图的最上方是Python Shell窗口的主菜单条,包含“File”“Edit”“Debug”等菜单项,它们都有相应的下拉菜单,通过它们提供的多种功能,IDLE向人们提供一个既可编写程序又可运行、储存、调试、修改程序的集成开发环境,犹如所谓的“一条龙”服务。
为了开始第一个程序的编写,执行“File”→“New File”命令,或按快捷键“Ctrl+N”,如图所示。
这时会打开一个名为“Untitled”的、完全空白的窗口,供编写程序使用。在里面输入语句:print(‘Hello Python!’),按“Enter”键结束,等待后续工作,如下图(a)所示。执行“File”→“Save”命令,或按快捷键“Ctrl +S”,这时会弹出“另存为”对话框,在这里选择文件存储的路径(如D盘),输入文件名(如test6),选择保存文件的类型(当然是Python files)。于是,到D盘,就可以看到这个文件的存在了。注意,在你完成这一切工作之后,原先名为“Untitled”的窗口,变成了“test6.py-D:/
test6.py(3.6.4)”窗口,见下图(b)。
执行“Run”→“Run Module”命令,或按“F5”键,刚才保存的test6.py文件被运行,运行效果如图所示。如果再运行一次,整个情况就会重复显现一次。
与在Sublime text中类似,编写程序如下。
first_name="adam"
last_name="smith"
full_name=first_name+"."+last_name
massage="hello,"+full_name+" !"
print(massage)
重复上面的步骤,将该程序投入运行,它在IDLE窗口里的运行结果如图所示。
总结评价
本章主要介绍了两个可以用来编写Python程序的环境,一个是Sublime Text,一个是Python自带的集成开发环境IDLE。
第2章 变量、字符串、常量、表达式
课程名称
Python程序设计基础教程
章名
变量、字符串、常量、表达式
教学内容
变量、字符串、常量、表达式
课时
8
项目性质
□演示性 □验证性 □设计性 √综合性
授课班级
授课日期
授课地点
教学目标
掌握变量基础知识
掌握字符串基础知识
掌握数字常量基础知识
掌握表达式基础知识
教学内容
Python中变量的命名规则、关键字、变量赋值
Python的字符串、字符串方法、转义字符、字符串切片
Python的整数和实数
算术表达式、赋值表达式、条件表达式、逻辑表达式、按位运算符
教学重点
变量、字符串、常量、表达式基础知识
教学难点
变量、字符串、常量、表达式基础知识
教学准备
装有Python的计算机
教学课件PPT
教材:《Python程序设计基础教程(慕课版)》
作业设计
12
教学过程
教学环节
教学内容与过程
(教学内容、教学方法、组织形式、教学手段)
课前组织
做好上课前的各项准备工作(打开计算机、打开课件、打开软件、打开授课计划、教案等),吸引学生注意力。
课程说明
【课前说明】
从变量的基本概念和实际应用引入本章学习内容。
【目的】
使学生从了解本节课的学习目标、学习重点、考评方式等方面明确课程学习的要求和目标。
课程内容描述
2.1 变量
变量,是指没有固定的值,可以改变的数。编写程序时,程序员总是用变量来存放数据,Python也不例外。本节讲解变量的相关知识。
2.1.1 Python中变量的命名规则
程序员应该为程序中的每一个变量起一个名字,以示它们之间的区别。为变量取的名字称为“变量名”。例如,在第1章里给出的“输出问候语”程序中,first_name、last_name、full_name,以及massage等都是变量。
当然,也不能随便为变量起名字。在Python中,取名字必须遵循如下的命名规则。
● 变量名的第1个字符只能是英文字母或下划线。
● 变量名中的其余字符可以是英文字母或数字。
● 不能将Python自身留用的关键字(或保留字)作为变量名。
例2-1 下面给出的标识符,哪些可以作为变量名,哪些不可以?说明理由。
(a)massage_1 (b)3cx (c)_DCY (d)student_name
(e)1_massage (f)dmax C (g)BBC$TY
答:(a)(c)(d)可以作为变量名。
(b)不行,因为数字不能作为变量名的开始字符。
(e)不行,因为数字不能作为变量名的开始字符。
(f)不行,因为变量名中不能出现空格(dmax和C之间有一个空格)。
(g)不行,因为变量名只能包含字母、数字、下划线,这里却出现了符号“$”。
例如,在Sublime Text中输入图所示的程序:
1 massage='How are you?'
2 print(massage)
3 Massage='who are you?'
4 print(massage)
5 print(Massage)
它的执行结果如图所示。这表明第1条语句为变量massage赋的值是字符串“How are you?”,第3条语句为变量Massage赋的值是字符串“who are you?”。由于Python将massage和Massage视为不同的变量,因此第3条语句的执行并没有改变变量massage的取值。
为Python程序中的变量取名字,遵循命名规则是第一原则。但是,取名时也不能太随便,取的名字应该既“简短”又“有含义”,当两者有矛盾时,应尽量做到“有含义”。这样在阅读和理解程序时,才能够让人明白这个变量代表什么,在程序中是做什么用的,为日后的工作带来便利。
例如,变量student_name虽长一些,但比用s_n来代表“学生名字”更好一些,因为s_n里一点“学生”或“名字”的意义都没有;而用变量name_length来代表“人名长度”比用length_of_person_name更好一些。不过要说明的是,为了节省篇幅,本书程序中并未严格遵循这一约定,望读者谅解。
2.1.2 Python的关键字
在Python语言里,有一些变量名是专门留给Python自己使用的,这些有特殊用途的变量名绝对不允许程序员用来作为自己程序中的变量名称,这些变量名被称为“关键字”(或“保留字”)。下面列出了Python的部分关键字,它们大多会在以后的编程学习中出现。
Python部分关键字
and
break
class
def
del
continue
for
except
else
from
return
is
while
raise
import
if
as
elif
or
yield
finally
in
pass
with
True
False
None
我们可以在“交互执行”模式下,通过以下方法来获得Python中的所有关键字名称:
>>>import keyword
>>>keyword.kwlist(或>>>print(keyword.kwlist))
这时,窗口里会输出Python中所有关键字的名字:
['false','None','True','and','as','assert','break','class','continue','def','del','elif','else','except','finally','for','from','global','if',
'import','in','is','lambda','nonlocal','not','or','pass','raise','return','try','while','with','yield']
在Python程序里,如果一不小心将关键字当成了变量名使用,会出现什么情况呢?下面用例子来说明。
例2-2 如果不小心把关键字当成了变量名使用,Python会在窗口里给出出错信息。例如,在Sublime Text窗口中编写一个名为test3.py的程序,这里错误地把字符串“hello python world”赋给关键字for,如图所示。
存储后在Python命令窗口运行该程序,Python在命令窗口输出下图所示的出错信息,即:
● 所列信息的第1行告诉我们,文件test3.py的第1行(line 1)有一个错误。
● 所列信息的第2行原封不动地列出了出错行的内容。
● 所列信息的第3行显示一个插入符(^),指示出出错的位置。
● 所列信息的第4行显示该错误属于“语法错误”(SyntaxError: invalid syntax)。
我们可以通过Python提供的这些信息检查程序,找出出错原因,对错误进行修正。
其实,留心观察的读者肯定已在Sublime Text窗口中发现,输入“for”后,Sublime Text会用特殊的颜色将它显示出来,这实际上是在提醒我们:当前输入的是一个值得注意的变量名。这是体现该编辑程序“人性化”的一个方面。Sublime Text以不同颜色区分输入的内容,最大限度地向用户提醒可能出现的问题,帮助程序员编写出正确的程序,这点我们在后面的学习中会经常看到。
综上所述,在Python里为变量命名,应该注重以下3个方面。
(1)按照命名规则命名。
(2)遵循“简短”而又“有含义”的命名原则。
(3)避免将关键字作为变量名。
2.1.3 变量赋值及函数id()
1.变量赋值
“数据”是信息的载体,是人们用符号来表示客观事物的一种集合。我们把“数据”定义为所有能够输入计算机中并被计算机加工、处理的符号的集合。
数据进入计算机,计算机就要开辟存储空间存放它,就要能够将它们区分开来。如前文所述,在进行程序设计时,通常使用的办法就是设置一个变量,用变量名来代表一个地方,以区分不同的数据。所以,对于一个变量来说,它应该有3个属性:名称、取值、存放的地方。程序员主要关心变量的“名称”和“取值”(让一个变量取值,通常称为“赋值”)。至于“存放的地方”,显然是指存储的位置,那是操作系统在内部进行分配的事情,不深入探究时,程序设计人员不必太过于关心它。
有人会说,在别的程序设计语言里,变量还有一个“类型”属性。确实是如此。不过在Python里,变量不需要类型说明,创建时直接对其赋值即可,其类型就由赋给变量的值决定。所以,在Python里,一旦创建了一个变量,就必须马上给该变量赋值。
Python以“=”为赋值号。注意,它不是我们以往熟知的“等于”号,其含义是将写在它右边的值赋予左边的变量,成为该变量的当前值。我们称如下形式的语句为赋值语句:
<变量名>=<值>
例如,student_name='Tom',表示变量student_name的取值为字符串“Tom”。
利用单个赋值号,Python提供了多种为变量赋值的办法。
(1)允许将同一个值连续赋予多个变量,例如:
food1=food2=food3='pizza'
表示将字符串“pizza”同时赋给3个变量:food1、food2和food3。它相当于以下3条赋值语句:
food1='pizza'
food2='pizza'
food3='pizza'
(2)利用逗号“,”分隔赋值号左边和右边的变量名及值,将右边的值按顺序赋给左边的变量名,例如:
food4,food5='milk', 'coffee'
表示将“milk”赋给变量food4,将“coffee”赋给变量food5,它实际上相当于以下两条赋值语句:
food4='milk'
food5='coffee'
(3)利用分号“;”可以把两条赋值语句串接在一行上。例如,程序中写为:
food6='apple'
food7='banana'
这时,可以利用分号,将它们串接为如下的一条语句:
food6='apple';food7='banana'
编写一个验证上述功能的程序test4.py,如图所示。
它的运行结果如图所示。
2.函数id()
为了说明创建了一个变量后,其“名称”“取值”“存放的地方”三者之间的关系,在此先介绍函数id()。
功能:返回变量所在的内存地址。
用法:
id(<变量名>)
例2-3 在下图所示的Python“交互执行”模式(提示符>>>)下,输入x=5,然后调用函数id(x)。这时窗口返回1669780592,这就是分配给变量x的内存地址。接着,键入y=x,然后调用函数id(y)。这时窗口仍然返回1669780592,表明变量x和y取相同的值,使用了同一个内存位置。
继续输入,重新为变量x赋值,输入x=242,调用函数id(x)后,返回的地址是1669784384。注意:存放变量x的内存地址改变了。这时调用函数id(y),返回的地址仍然是1669780592。
这一段交互执行过程表明,Python采用的是一种基于值的内存管理方式:如果为不同变量赋予相同的值(如y=x),那么这个值在内存里只保存一份,Python只是让多个变量指向同一个内存位置;当重新为某个变量赋值(如x=242)时,Python为该变量重新分配一个内存空间,用于存放它的新内容。
这种基于值的内存管理方式,可以用下图来表述。
以往的程序设计语言(如C语言),在创建了一个变量后,就分配给它一个存储空间,变量和存储空间被绑定在一起,是一 一对应的。给变量赋值,就是修改该存储空间里的内容。正因为如此,对变量的存储空间管理就显得较为复杂、烦琐,让人望而生畏。
Python改变了这种变量与存储空间绑定的管理方式。修改变量取值时,Python直接为它重新分配一个存储空间。这样的管理做法,显得既简捷又便利,它只能在大容量存储空间的支撑下完成,从而使修改变量取值的方式变得简单。
2.2 字符串
2.2.1 Python的字符串
我们对“字符串”并不陌生,它是前面所举例子中最早提到的名词,是Python语言向程序设计人员提供的一种数据类型。
1.字符串的定义
字符串中的元素仅限于一个一个的字符:英文字母、数字、空格,以及键盘上Python允许使用的其他字符。在Python里,把字符串定义为用单引号(')或双引号(")括起来的一系列字符。例如'this is a book.'、"this is a book."、'that is a string.'和"that is a string."都是正确的字符串。
设有变量str,将字符串'a0a1…ai-2ai-1'或字符串"a0a1…ai-2ai-1"赋给它,即:
str ='a0a1…ai-2ai-1'
或
str =" a0a1…ai−2ai-1"
那么,a0、a1、…、ai−2、ai-1就是组成该字符串的一个个字符,整个字符串就是变量str的值。若将单引号或双引号内的字符个数记为n,那么称n为字符串的“长度”。当一个字符串的长度n=0时,称其是一个“空串”,如str1="和str2=" "都是空字符串。
2.字符串的“索引”
字符串中每个字符的序号称为它在字符串里的“索引”,不同的索引对应字符串中的不同字符。要注意,Python规定,索引从0开始,而不是从1开始。因此,字符串中第1个字符的索引值为0,第2个字符的索引值是1,以次类推。
3.主串与子串
字符串中任意多个连续字符组成的子序列,称作该串的“子串”,字符串本身称为“主串”。子串的第1个字符在主串中的位置,称作该子串“在主串中的位置”。
4.引号的使用
在字符串中使用引号时,要注意两点:一是引号必须成对出现,因此要关注程序中与左引号配对的右引号在什么位置;二是单引号只能与单引号配对,双引号只能与双引号配对,不能因为它们都可以定义字符串,就乱配对。在程序中,丢失“对”或乱配“对”,都会产生语法性的错误。
例如,编写一个图所示的程序:
1 message1='I said, "this book is my favorite !"'
2 print(message1)
3 message2='I said, "this book is my favorite"
4 print(message2)
第1行内容中的引号都是配对的,第3行结束时,丢失了右边的单引号。程序投入运行,结果如图所示,窗口上会输出出错信息,显示第3行出错了。
由此可以想象,当Python接收到一个引号(单或者双)后,就会记住它,在遇见了与其配对的引号后,就解除对该引号的检查。如果在一条语句结束时还没有遇到配对的引号,那么就会认为程序出错,并立即输出出错信息。
2.2.2 关于字符串的“方法”
在程序设计语言中,所谓“方法”,是指可对数据进行特定操作的一段程序,它有自己的名字,有自己的使用办法。人们常会把“方法”和“函数”两者混为一谈。其实,“函数”指有返回值的程序段,“方法”则是完成一件事情的程序段。本书不去讨论这两者之间的差别。“关于字符串的方法”是指Python提供的、可在字符串上进行特定操作的小程序,如关于字符大小写的、关于在字符串中查找字符的、关于字符串长度的。对于字符串来说,Python提供的方法很多,这里无法一 一讲述。下面仅罗列出一些极常用的方法。
1.title()
功能:将字符串变量里出现的每个单词的首字母改为大写。
用法:
<变量名>.title()
例2-4 输入字符串“please wait beyond the line”,将其赋给变量message,调用方法title(),如图所示。
从上图所示的运行结果看,可以有如下两点分析。
(1)该方法把字符串中的每一个单词的首字母改为大写。
(2)该方法不改变字符串变量的原先内容。也就是说,原字符串单词的首字母仍保持调用title()前的状态不变。
为了正确地使用Python里提供的方法,要强调以下两点。
(1)调用时,变量名和方法名之间要用点号(.)隔开,实现变量对方法的调用。
(2)方法名后跟随的括号里面是用户调用该方法时,提供给方法的调用信息,即使不需要提供任何信息,括号也不能缺少。例如,字符串变量调用方法title()时,虽然不需要提供什么额外调用的信息,但后面跟随的括号绝不可不写。
2.upper()
功能:将字符串变量里的所有字母都改为大写。
用法:
<变量名>.upper()
3.lower()
功能:将字符串变量里的所有字母都改为小写。
用法:
<变量名>.lower()
4.find()、rfind()
(1)find()方法。
功能:find()用来查找子串在主串中的位置,返回子串首次出现在主串中时的第1个字符的索引编号;主串中不存在该子串时,查找失败,返回-1。
用法:
<变量名>.find(sub, start, end)
其中:
● sub表示想要查找的子串,该参数不可省略,如果没有找到,返回-1。
● start表示开始查找的索引位置,如省略该参数,表示是从主串的开头开始查找。
● end表示结束查找的索引位置,如果省略该参数,表示从start开始,一直查找到主串末尾。
(2)rfind()方法。
功能:rfind()用来查找子串在主串中的位置,返回子串最后一次出现在主串中时的第1个字符的索引编号;主串中不存在该子串时,查找失败,返回-1。
用法:
<变量名>.rfind(sub, start, end)
其中:
● sub表示想要查找的子串,该参数不可省略,如果没有找到,返回-1。
● start表示开始查找的索引位置,如省略该参数,表示是从主串的开头开始查找。
● end表示结束查找的索引位置,如果省略该参数,表示从start开始,一直查找到主串末尾。
例2-5 在Sublime Text工作窗口里,输入如下小程序,如图所示:
1 word="we all look forward to the annual ball."
2 print(word)
3 print(word.find('all'))
4 print(word.find('all',7))
第1条语句是把一个字符串赋给变量word;第2条语句表示输出变量word的值;第3条语句表示在字符串word里,从索引为0的位置,开始查找子字符串“all”,直到字符串末尾;第4条语句表示在字符串word里,从索引为7的位置,开始查找子字符串“all”,直到字符串末尾。
下图所示是程序运行的结果,第2条print语句的输出结果是3,第3条print语句的输出结果是35。
由这个例子,我们应该记住,Python规定的字符串中字符的索引顺序是从0开始,而不是从1开始的。这一点非常重要。
又如,创建一个字符串:
s='ti
展开阅读全文